我正在尝试创建一个可以发送唯一jQuery事件的类。示例:
function Bomb(id) {
this.evnt = $.Event("BOOM!_" + id);
this.detonate = function() {
$(document).trigger(evnt);
};
}
var firecracker = new Bomb();
var nuclearbomb = new Bomb();
$(document).bind(firecracker.evnt.type, function(){
// It's the fourth of july!!!
});
$(document).bind(nuclearbomb.evnt.type, function(){
// We're dead
});
firecracker.detonate();
nuclearbomb.detonate();如何在Bomb类中创建唯一的事件,而不必传入ID来为该类创建唯一的事件字符串?
发布于 2011-11-29 10:06:04
你说的“独一无二”是什么意思?如果你需要一个定制的event类,那么你需要扩展jQuery的类,或者根据规范(Document Object Model Events)提供你自己的Event接口的实现。在这里可以看到一些想法:Dean Edwards Blog。
我应该提到的另一件事是,您对所有事件都使用相同的事件目标。在大多数情况下,在同一对象上调度的相同类型和名称的事件表示相同的大小写。因此,如果您需要以不同的方式处理事件,则需要按名称(如您所做的那样)或按目标($(firecracker).bind('ondetonate', function () { ... }))来区分它们。
很抱歉,如果这不是很具体,但我只是想提供一个大概的想法,如何解决这个问题。
https://stackoverflow.com/questions/8304701
复制相似问题