第一種監聽方式,也是最普遍使用的方式,是直接在**上載入事件,產生效果:
<
table
>
<
tronmouseover='
this.style.backgroundcolor="red"
'onmouseout='
this.style.backgroundcolor=""
'><
td>
text1
<
/td>text2><
/tr>
text3><
td>
text4
<
/td>>
<
tronmouseover='
this.style.backgroundcolor="red"
'onmouseout='
this.style.backgroundcolor=""
'><
td>
text5
<
/td>text5><
/tr>
<
/table
>
第二種監聽方式,是使用dom的方式獲取物件,並載入事件:
<
table
>
<
tr><
td>
text1
<
/td>text2><
/tr>
text3><
td>
text4
<
/td>>
<
tr><
td>
text5
<
/td>text5><
/tr>
<
/table
>
<
script
>
doms
= document
.getelementsbytagname('
tr');
for(i=
0;i<
doms
.length;i
++)doms[i
].onmouseout
= function()}
<
/script>
第三種監聽方式,是使用標準的addeventlistener方式和ie私有的attachevent方式,因為ie的attachevent方式在引數傳遞時的缺陷,這個問題被搞得稍許有些複雜了:
<
table
>
<
tr><
td>
text1
<
/td>text2><
/tr>
text3><
td>
text4
<
/td>>
<
tr><
td>
text5
<
/td>text5><
/tr>
<
/table
>
<
script
>
doms
= document
.getelementsbytagname('
tr');
function
show_color
(where
)function
hide_color
(where
)function
for_ie
(where
,how)}
for(i=
0;i<
doms
.length;i
++)catch(e
)}<
/script>
在繫結多個相同的事件的時候,前兩種方法會產生覆蓋,而第三中方法則會同時執行多個事件。
JavaScript中對事件的三種監聽方式
第一種監聽方式,也是最普遍使用的方式,是直接在 上載入事件,產生效果 text1 text2 text3 text4 text5 text5 第二種監聽方式,是使用dom的方式獲取物件,並載入事件 text1 text2 text3 text4 text5 text5 第三種監聽方式,是使用標準的a...
對事件的理解
事件類似於異常,因為它們都是由物件引發。訂閱乙個事件的含義是提供 在事件發生時執行這些 它們稱為事件處理程式。事件處理程式本身都是簡單的函式。對事件處理函式的惟一限制是它必須匹配於事件所要求的簽名 返回型別和引數 這個簽名是事件定義的一部分,由乙個委託指定。要處理事件,需要提供乙個事件處理函式 該函...
Javascript中的事件繫結
等價於 window.nl ad bodyonload 如果希望乙個事件繫結多個方法,這樣是不行的 window.nl ad bodyonload1 window.nl ad bodyonload2 window.nl ad bodyonload3 他只會執行最後乙個,這裡有個dom方法 attac...