在非DOM对象上使用自定义的jQuery事件

11

最近我阅读了一些类似于以下代码的内容:

bob = {'name': 'Bob Smith', 'rank': 7};
$(bob).bind("nameChanged", function () { /* ... */});
// ...
$(bob).trigger("nameChanged");

这似乎有效。

但是我在jQuery文档或源代码中找不到有关使用既不是选择器也不是DOM节点的对象调用jQuery构造函数的内容。因此,我的问题是,这是一种受支持的用法,还是仅仅是偶然工作的结果?

如果您想在JavaScript中为您的模型或视图对象使用事件驱动模型,您将如何实现?

1个回答

5

发生的情况是它只是将该对象包装在jQuery包装器中。然后,它会将回调应用于该对象上的新属性,然后触发它。

这是一种奇怪的做事方式,但完全可以接受。


如果我没记错的话,试图从非DOM对象解绑定自定义事件会导致抛出错误? - Matty F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接