2014-04-15 58 views
0

我有一個簡單的小工具按鈕和一些屬性和功能。如何在點擊按鈕時訪問這些功能。如何從按鈕點擊功能訪問其他小部件屬性?

(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

問題出在click()函數的按鈕對象沒有直接訪問widget創建者的事實。有很多方法可以解決這個問題。我建議您將click回調與this._on綁定,而不是pButton.click,例如更換:

pButton.click(function() { this.function_test(); }); 

有:

this._on(pButton, { 
    click: function() { this.function_test(); } 
}); 

現在click回調內部this對象是widget實例,而不是按鈕,這樣你可以調用控件的功能。您可以在此測試:http://jsbin.com/yorunaji/1/edit?html,js,output