Javascript 使用ajax加载的页面绑定和解除绑定事件处理程序

Javascript 使用ajax加载的页面绑定和解除绑定事件处理程序,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,在动态加载(ajax)页面中处理javascript事件的“线程化路径”是什么 我有一个应用程序,它有一个选项卡栏控制器,可以通过ajax拉入子视图,这些视图有自己的js,这在第一次使用时很好,但是如果有人长时间使用该应用程序并重复浏览所有选项卡视图,那么事件会一次又一次地绑定,这似乎效率非常低,特别是考虑到这些子视图可能有自己管理的子视图,其中一些可能有很多事件处理程序 有什么更优雅的方法可以解决这个问题?(顺便说一句,我使用的是jQuery)这取决于场景,您甚至没有显示一行代码,但您可以在绑

在动态加载(ajax)页面中处理javascript事件的“线程化路径”是什么

我有一个应用程序,它有一个选项卡栏控制器,可以通过ajax拉入子视图,这些视图有自己的js,这在第一次使用时很好,但是如果有人长时间使用该应用程序并重复浏览所有选项卡视图,那么事件会一次又一次地绑定,这似乎效率非常低,特别是考虑到这些子视图可能有自己管理的子视图,其中一些可能有很多事件处理程序


有什么更优雅的方法可以解决这个问题?(顺便说一句,我使用的是jQuery)

这取决于场景,您甚至没有显示一行代码,但您可以在绑定新回调之前使用
解除绑定

$('#foo').unbind('click').click(handler);
...
$('#foo').unbind('click').click(handler)
...
$('#foo').unbind('click').click(handler)
...

$('#foo').click(); // handler fire one time only.
改用on()和off()函数。相关的: