我有一个使用 jquery ui 小部件工厂创建的小部件。我正在尝试将一些数据传递给我的自定义事件,如下所示
this._trigger('myCustomEvent', ['Test', 'Test2']);
但在我的处理程序上,我不确定如何访问自定义参数
onMyCustomEvent: function(event, ui) {
...
}
我尝试向我的处理程序添加参数
onMyCustomEvent': function(event, ui, param1, param2) {...}
但这不起作用:param1 和 param2 未定义
最佳答案
您需要在 _trigger 上提供事件参数。参数可以为空。
this._trigger('myCustomEvent', null, ['Test', 'Test2']);
参见:http://api.jqueryui.com/jQuery.widget/#method-_trigger
Note: When providing data, you must provide all three parameters. If there is no event to pass along, just pass null.
示例: http://jsfiddle.net/4Za4m/
$.widget( "jsr.exampleWidget", {
_create: function() {
this.element.click($.proxy(this._handleClick,this));
},
_handleClick: function(event) {
event.preventDefault();
this._trigger('myCustomEvent', null, ['Test', 'Test2']);
}
});
var handleCustomEvent = function(event,param1,param2) {
alert(param1);
alert(param2);
};
$("#clickable").exampleWidget({myCustomEvent : handleCustomEvent});
关于javascript - 如何将 _trigger 上的数据用于自定义小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16992349/