如何在使用ajax响应操作dom之后附加所有事件。我有一个ajax请求,它得到一个html响应,它基本上是html的一个片段。该片段HTML有许多按钮。我希望刷新以前声明过的dom,并将附加事件也应用到该片段中。我不想继续使用jquery ()为每个按钮添加每个事件。不然怎么做呢?
发布于 2013-08-23 19:46:46
您可以使用预先设置的委托事件处理,并可以将其应用于新添加的DOM元素。委托事件处理是用.on()
完成的,通常采取以下形式:
$("static parent selector").on('click', 'selector for dynamic element', fn);
没有干净的方法可以再次运行您的事件,安装代码,并让它只应用于新添加的DOM元素。您必须将该代码放入函数中,并对其进行编码,使其不会多次添加事件处理程序,然后可以在将项添加到DOM后再次调用该函数。或者,您可以让函数接受父对象的参数,并且只在新添加的DOM层次结构中添加事件处理程序。
下面是关于委托事件处理的另一个相关答案:Does jQuery.on() work for elements that are added after the event handler is created?
https://stackoverflow.com/questions/18414695
复制