在我的類的方法,我有:jQuery的。點擊()獲得卓越的這個
this.background.click(function() {
this.terminate();
});
顯然this.terminate();
不起作用,因爲this
指this.background
內jquery.click
功能。我該如何編寫獲得this
高級課程?
在我的類的方法,我有:jQuery的。點擊()獲得卓越的這個
this.background.click(function() {
this.terminate();
});
顯然this.terminate();
不起作用,因爲this
指this.background
內jquery.click
功能。我該如何編寫獲得this
高級課程?
聲明包含可變外this
:
var self = this;
this.background.click(function() {
self.terminate();
});
嘗試:
this.background.click($.proxy(this.terminate, this));
可以使像@Andrew所述,或可以使 「yourObject.terminate();」
例:
var yourObject = {
background: $("#background"),
terminate: function()
{
alert("do something...");
},
addEvents: function()
{
this.background.click(function()
{
yourObject.terminate();
});
}
};
$(function()
{
yourObject.addEvents();
});
用於提高,保證了 '背景' 選擇存在(如HTML前的JavaScript load),並使用jQuery 「活()」 或 「委託()」 或「上() 「在元素中附加事件。
使用綁定
$(".detailsbox").click(function(evt){
test.bind($(this))();
});
function test()
{
var $this = $(this);
}
我讀錯= P + 1專打我吧 – 2012-01-02 16:54:27