当前位置: 首页 > 面试题库 >

使用JQuery ajax在DOM操作后附加事件

崔恺
2023-03-14
问题内容

在使用ajax响应操纵dom之后如何附加所有事件。我有一个ajax请求,它获取一个html响应,该响应基本上是html的一个片段。该片段HTML有很多按钮。我想刷新dom,以便将先前声明和附加的事件也应用于该片段。我不想继续使用jquery
on()为每个按钮添加每个事件。还有其他办法吗?


问题答案:

您可以使用预先设置的委托事件处理,并且可以将其应用于新添加的DOM元素。委托事件处理通过以下方式完成,.on()通常采取以下形式:

$("static parent selector").on('click', 'selector for dynamic element', fn);

没有干净的方法可以再次运行事件安装代码,并且仅将其应用于新添加的DOM元素。您将不得不将该代码放入函数中并对其进行编码,以使它永远不会添加事件处理程序超过一次,然后在将项目添加到DOM之后可以再次调用该函数。或者,您可以使函数接受父对象的参数,而仅在新添加的DOM层次结构中添加事件处理程序。



 类似资料:
  • 问题内容: 在遍历数据后,我遇到一些有关DOM操作的问题。 我们有一个与数据绑定并且可以正常工作的jQuery滑块插件,但是当使用时,我们必须将其初始化包装起来以使其起作用—现在甚至不起作用。 我认为使用是不可靠的,这将导致错误的修复。在jQuery中,我可以使用-这很可靠,但是使用似乎也不起作用。 调用了Slider指令,但由于没有将图像加载到DOM中而无法获得滑块中图像的高度-导致滑块的计算高

  • 大部分情况下你不需要通过查询 DOM 元素去更新组件的 UI,你只要关注设置组件的状态(setState)。但是可能在某些情况下你确实需要直接操作 DOM。 首先我们要了解 ReactDOM.render 组件返回的是什么? 它会返回对组件的引用也就是组件实例(对于无状态状态组件来说返回 null),注意 JSX 返回的不是组件实例,它只是一个 ReactElement 对象(还记得我们用纯 JS

  • jQuery的选择器很强大,用起来又简单又灵活,但是搞了这么久,我拿到了jQuery对象,到底要干什么? 答案当然是操作对应的DOM节点啦! 回顾一下修改DOM的CSS、文本、设置HTML有多么麻烦,而且有的浏览器只有innerHTML,有的浏览器支持innerText,有了jQuery对象,不需要考虑浏览器差异了,全部统一操作! 修改Text和HTML jQuery对象的text()和html(

  • 由于HTML文档被浏览器解析后就是一棵DOM树,要改变HTML的结构,就需要通过JavaScript来操作DOM。 始终记住DOM是一个树形结构。操作一个DOM节点实际上就是这么几个操作: 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的内容; 遍历:遍历该DOM节点下的子节点,以便进行进一步操作; 添加:在该DOM节点下新增一个子节点,相当于动态增加了一个HTML节点; 删

  • 问题内容: 如何通过跨浏览器方式将主体onload事件与JS关联?这样简单吗? 问题答案: // Dean Edwards/Matthias Miller/John Resig

  • 我正在使用硒网络驱动程序,其中我正在尝试拖放表格的一列。但是一旦我拖放该列,我就得到一个错误“元素不再附加到DOM”。下面是我用于拖放元素的代码