Javascript 如何将jquery事件重新绑定到通过ajax加载的内容,而不必为每个事件/类执行此操作
因此,我有一个jquery应用程序,可以绑定:Javascript 如何将jquery事件重新绑定到通过ajax加载的内容,而不必为每个事件/类执行此操作,javascript,jquery,ajax,asynchronous,bind,Javascript,Jquery,Ajax,Asynchronous,Bind,因此,我有一个jquery应用程序,可以绑定: 所有my.btn delete元素的“删除功能” 将“添加函数”添加到所有my.btn add元素 等等。在我的webapp的一个div中,我异步加载内容,包括我想要绑定“delete”和“add”函数的元素。这些元素也有一个“btn delete”或“btn add”类,但由于内容是异步加载的,因此事件不会绑定到它们,而不进行任何操作 所以我听说使用.on('click'…)函数可以在异步加载内容后立即触发,我可以重新绑定这些函数。但是对于我
- 所有my.btn delete元素的“删除功能”
- 将“添加函数”添加到所有my.btn add元素
如果我不必在每次回调时手动重新绑定每个函数,那么我的生活就会轻松得多。如果使用委托事件处理,就永远不必重新绑定
$('body').on('click', '.btn-delete', function(ev) {
// delete ...
});
这将设置一个事件处理程序,当“单击”事件在任何时间从任何元素冒泡到主体时,它将捕获这些事件。它作用于与给定选择器匹配的元素的任何“单击”。按钮是最初存在还是动态添加并不重要
您不必将处理程序放在
元素上;它们可以放在容器的任何一层。@HamedMomeni不,委托事件处理程序没有任何有意义的性能问题。选择器一次只需要针对一个DOM元素进行测试。