我创建了一个触发事件的 jquery 插件:
$.fn.myplugin = function(options) {
this.on("foo.myplugin", options.foo);
this.on("bar.myplugin", options.bar);
};
我想检查 foo 是否已被用户取消并防止 bar 被触发:
// trigger foo
this.trigger("foo.myplugin");
// how do I check if foo was canceled
if( !fooCanceled ) {
this.trigger("bar.myplugin");
}
如何检查 foo 是否被取消以防止触发 bar?
jQuery UI 做了类似的事情,但是当我尝试时它没有工作:
if (this._trigger("search", event) === false) {
return;
}
我尝试了类似的东西:
if( this.trigger("foo.myplugin") === false ) {
return;
}
this.trigger("bar.myplugin");
但是 bar 仍然被触发。
我正在初始化我的插件,如下所示:
$("#asdf").myplugin({
foo: function(event) {
// cancel the event
event.preventDefault();
},
bar: function(event) {
console.log("should not be triggered");
}
});