1
假設,我們有下面的代碼:jQuery的:使用這個內部類的內部功能,工作作爲處理
HTML:
<input type="button" id="button" value="Say hello">
的Javascript:
function test()
{
this.message = "hello";
this.on_change = function(){
alert(this.message);
}
this.on_change();
}
$(document).ready(function() {
var my_object = new test();
$('#button').click(my_object.on_change);
});
my_object必須打印「Hello 「在2種情況下:
- 當我nstance創建(作品)
- 當點擊按鈕「打招呼」(不工作)
在它打印「未定義」第二種情況,因爲this
指的是「按鈕」的對象,而不是到test
類的實例。
創建'this'的上下文:http://jsfiddle.net/s81v1s8h/1/ – tymeJV 2014-09-29 15:49:57
1)。 '$('#button')。click($。proxy(my_object.on_change,my_object));'2)。 '$('#button')。click(my_object.on_change.bind(my_object));' 3)。 '('#button')。click(function(){my_object.on_change();});' – dfsq 2014-09-29 15:56:43