使用 ajax 加载的页面绑定和取消绑定事件处理程序
Event handler binding and unbinding with ajax loaded pages
在
动态加载(ajax(页面中处理JavaScript事件的"良好线程路径"是什么?
我有一个应用程序,它有一个标签栏控制器,可以通过 ajax 拉入子视图,这些视图有自己的 js,这在第一次很好,但如果有人长时间使用该应用程序并反复循环浏览所有选项卡视图,事件会一遍又一遍地绑定,这似乎效率非常低下, 特别是考虑到这些子视图可能有自己的子视图,其中一些子视图可能有很多事件处理程序。
有哪些更优雅的方法来解决这个问题?(顺便说一句,我正在使用jQuery(
这取决于场景,你甚至没有显示一行代码,但你可以在绑定新回调之前使用 unbind
:
$('#foo').unbind('click').click(handler);
...
$('#foo').unbind('click').click(handler)
...
$('#foo').unbind('click').click(handler)
...
$('#foo').click(); // handler fire one time only.
相关文章:
- 如何销毁/删除/取消绑定SnapSVG.js
- 取消绑定主干视图事件
- 从父元素取消绑定滚动事件并绑定到子元素
- 使用Re-base时,在React中从状态绑定和取消绑定Firebase
- javascript onchange取消绑定错误|未定义
- 在javascript中取消绑定侦听器
- 在偶数侦听器块中绑定和取消绑定
- 取消绑定angular中的scope属性
- 根据文件类型取消绑定和重新绑定click事件处理程序
- 取消计算列的自定义绑定
- 取消绑定而不是重新绑定
- 取消绑定/绑定单击jquery selectbox插件
- 取消绑定后未提交的表单
- 动态取消绑定eventListeners(垃圾收集)
- 取消绑定父节点和子节点
- 取消绑定由加载jQuery'的外部脚本添加的事件;s的getScript函数
- 正在取消绑定jQuery事件处理程序
- setTimeout vs. 事件绑定/取消绑定;什么更有效
- 真正阻止元素绑定-取消绑定元素-AngularJS
- 元素上单击事件的重复绑定-取消绑定