在JavaScript指定事件處理程序的方式中,有三層,分別是DOM 0 級, DOM 1 級, DOM 2 級。
DOM 0 級是最傳統的形式,主要爲直接給指定元素的某個事件直接指定,
ex:
<span style="font-family:Microsoft YaHei;font-size:14px;color:#ff6600;">div.onclick = function(){aliert("hello world!")};</span>
在上述過程中,div元素的click事件被賦予了一個匿名函數。
但,請注意:
<pre name="code" class="html"><span style="font-family:Microsoft YaHei;font-size:14px;color:#ff6600;">function say(s) {
alert(s);
}
var s1 = "hello";
div.onclick = say(s);</span>
執行這段代碼,我們會發現,在還沒點擊div元素的時候,say(s)就已經被執行了!
<span style="font-family:Microsoft YaHei;font-size:14px;color:#ff6600;">function say(s) {
alert(s);
}
var s1 = "hello";
div.onclick = "say(s)";
</span>
執行發現,當點擊div元素時,並不能執行say(s)中的方法。
<strong><span style="font-family:Microsoft YaHei;font-size:14px;color:#ff6600;"><div οnclick="say(s)">hello</div></span></strong>
僅此,才能將帶參數的實名方法(如say(s))傳遞給指定事件。