在动态加载(ajax)页面中处理javascript事件的“线程良好的路径”是什么。
我有一个应用程序,它有一个标签栏控制器,通过ajax拉入子视图,这些视图有自己的js,这是第一次很好,但如果有人长时间使用该应用程序,重复循环浏览所有选项卡视图,事件会一次又一次地被绑定,这似乎非常低效,特别是考虑到这些子视图可能有他们自己管理的子视图,其中一些可能有很多事件处理程序。
有哪些更优雅的解决方法? (顺便说一下,我正在使用jQuery)
答案 0 :(得分:0)
这取决于场景,并且您甚至没有显示一行代码,但您可以在绑定新回调之前使用unbind
:
$('#foo').unbind('click').click(handler);
...
$('#foo').unbind('click').click(handler)
...
$('#foo').unbind('click').click(handler)
...
$('#foo').click(); // handler fire one time only.