gpt4 book ai didi

javascript - 使用 Jquery 允许常规 JS 对象上的事件

转载 作者:数据小太阳 更新时间:2023-10-29 04:42:55 25 4
gpt4 key购买 nike

我有一些 javaScript 类(ctor+prototype 方法),我希望它们的实例能够发出 evnet。

这样使用这个类的代码就可以像这样:

var instance=new SomeObject();
instance.on('customEventName',function(event){do_stuff()}

我在 JQUery 环境中工作,对于我使用的 .trigger 和 .on 的 UI 元素,这对我来说非常有用,我一直在徘徊什么是实现与常规对象相同的感觉的最佳方式。

我正在考虑根据自定义事件名称设置 $.Callbacks() 对象的映射,并根据对象的原型(prototype)添加 .on 和 .trigger 或者我可以只持有一个初始化为空的 eventsPoint 实例变量$() 并将原型(prototype)中的 .on 和 .trigger 方法连接到此 eventsPoint 对象。

任何其他/更好的想法?

最佳答案

jQuery 实际上允许您非常简单地执行此操作,就像您对 DOM 元素所做的那样:

var instance = new SomeObject();
$(instance).on("customEventName", function () {
do_stuff();
})

// Later...
$(instance).trigger("customEventName");

所有事件处理程序都存储在 jQuery 的内部数据存储中,jQuery 会向您的对象添加一个属性,该属性保存该存储中的数据索引。

关于javascript - 使用 Jquery 允许常规 JS 对象上的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com