我正在构建自定义jquery ui小部件,我添加了自定义事件
当我实例化小部件时,我可以覆盖原始事件处理程序
如何从新的事件处理程序中调用原始事件处理程序?
例如:
$.widget("myns.mywidget", {
options: {
myoption: null,
myevent: function(event, ui){
alert("original event handler");
}
},
myMethod: function(){
[...]
this._trigger("myevent", {}, {});
}
});
当我这样做时:
$("#target").mywidget();
$("#target").mywidget("myMethod");
我看到消息“原始事件处理程序”
相反,如果我这样做:
$("#target").mywidget({
myevent: function(event, ui){
alert("overriden event handler");
}
});
$("#target").mywidget("myMethod");
我看到消息“覆盖事件处理程序”。
我如何从被覆盖的执行原始事件处理程序?
像:
$("#target").mywidget({
myevent: function(event, ui){
alert("overriden event handler");
original.myevent();
}
});
$("#target").mywidget("myMethod");
用于查看消息“覆盖事件处理程序”和“原始事件处理程序”?
非常感谢,对不起我的英语
答案 0 :(得分:0)
我找到了这个解决方案:
$("#target").mywidget({
myevent: function(event, ui){
alert("overriden event handler");
$.myns.mywidget.prototype.options.myevent.call(this, event, ui);
}
});
$("#target").mywidget("myMethod");
如果有人有更好的解决方案,请告诉我 感谢