2013-12-15 105 views
0

據我瞭解,當我們調用方法this包含引用object它調用此方法。但什麼是 「對象」,並在以下情況下, 「方法」:html標記內的JavaScript函數調用

考慮html代碼片段

<div id="parent"> 
    <input type="submit" id="submit" value="submit" onclick="doThis(this)"/> 
</div> 

其中doThis()JS功能,使得

doThis(obj){ 
    obj.style.background="#ff00ff" 
} 

我知道,那this將被包含參考submit按鈕,但我不明白爲什麼。

+0

你會期望它是什麼? –

+1

請停止使用內聯js。 https://www.google.com/search?q=Why+is+inline+js+bad%3F – m59

+1

這是一個很好的參考,可以學習有關事件處理的基本知識:http://www.quirksmode.org/js/introevents html的。 –

回答

3

參見the HTML 5 specification

當事件處理程序的內容屬性被設置

...

創建一個功能對象

(如在的ECMAScript版本5 13.2節創建函數對象定義)

...

設置相應的偶數噸處理上述功能

處理該事件對象E如下:

...

調用回調使用一個參數,其值是事件對象E,其中回調this的值設置爲E的當前目標。

相關問題