AnC*_*AnC 18 javascript jquery event-handling
我想使用独立于DOM元素的自定义jQuery事件,但我不确定实现这一目标的最佳方法是什么.
这是我开始的:
// some system component registers an event handler
$().bind("foo.bar", handler); // foo is my app's namespace, bar is event name
// another part of the system fires off the event
$().trigger("foo.bar", { context: "lorem ipsum" });
在查看了jQuery的源代码,特别是它对全局AJAX事件的处理之后,我认为这应该可行:
$.fn.bind("foo.bar", handler);
// ...
$.event.trigger("foo.bar", { context: "lorem ipsum" });
但是,似乎我的处理函数永远不会被调用.
我可能会以错误的方式解决这个问题吗?
Jam*_*mes 34
如果您正在使用jQuery,>1.4则$()返回一个空的jQuery集合,这意味着没有事件处理程序实际绑定到任何东西.之前1.4它会返回相同的jQuery(document).
简单地拥有一个全局命名空间(一个实际的对象)然后添加事件可能会更好:
var FOO = {};
$(FOO).bind("foo.bar", handler);
$(FOO).trigger("foo.bar", { context: "lorem ipsum" });
| 归档时间: | 
 | 
| 查看次数: | 16317 次 | 
| 最近记录: |