【发布时间】:2014-11-16 18:28:04
【问题描述】:
假设我想使用 jQuery 在 javascript 中实现一个简单的 EventBus 模式。该页面有一个 div,我使用 $().load() 在其中加载一些动态内容。此内容有一些 javascript 代码订阅 $(document).ready() 上的一些事件
page1.html:
$(document).ready(function() {
$eventBus.on("next", function() {
// do something
});
});
root.html
$("#content").load("page1.html"); // load page1 and invoke it's javascript
当另一个内容与其他脚本加载到同一个 div 中时,我应该如何正确取消订阅此事件处理程序? IE。放置 $eventBus.off("next"); 的最佳位置在哪里
我真正想要实现的是让内页在加载时订阅一些事件并在卸载时取消订阅
【问题讨论】:
-
jQuery 在$.Callbacks 中附带了一个事件总线实现
标签: jquery event-based-programming