如何使用 ajax 响应操作 dom 后附加所有事件。我有一个ajax请求,它得到一个html响应,它基本上是html的一个片段。该 HTML 片段有很多按钮。我想刷新 dom,以便先前声明和附加的事件也应用到该片段中。我不想继续使用 jquery on() 为每个按钮添加每个事件。还有什么办法呢?
您可以使用提前设置的委托事件处理,并将其应用于新添加的 DOM 元素。委托事件处理是通过.on()
一般采用以下形式:
$("static parent selector").on('click', 'selector for dynamic element', fn);
没有干净的方法可以再次运行事件安装代码并使其仅应用于新添加的 DOM 元素。您必须将该代码放入一个函数中并对其进行编码,以便它永远不会多次添加事件处理程序,然后您可以在将项目添加到 DOM 后再次调用该函数。或者,您可以使该函数采用父对象的参数,并且仅在新添加的 DOM 层次结构中添加事件处理程序。
这是关于委托事件处理的另一个相关答案:jQuery.on() 是否适用于创建事件处理程序后添加的元素? https://stackoverflow.com/questions/9814298/does-jquery-on-work-for-elements-that-are-added-after-the-event-handler-is-cre/9814409#9814409
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)