我有一个带有一个按钮和一些属性和功能的简单小部件。如何在按钮点击时访问这些功能。
(function ($, undefined) {
$.widget("test", {
_create: function () {
var pButton = this.element;
pButton.button();
pButton.css({ width: this.options.buttonWidth });
pButton.click(function () { this.function_test(); });
},
function_test: function ()
{
alert("aa");
}
});
}(jQuery));
答案 0 :(得分:0)
问题来自于click()函数的button对象无法直接访问widget创建者。有很多方法可以解决这个问题。我建议你用click._on而不是pButton.click绑定点击回调,例如替换:
pButton.click(function () { this.function_test(); });
使用:
this._on(pButton, {
click: function () { this.function_test(); }
});
现在this
回调中的click
对象是小部件实例,而不是按钮,因此您可以调用小部件的功能。