標籤:ges 順序 htm 節點 log dom節點 接受 按鈕 思想
事件(event)
1.什麼是JavaScript事件?
事件是文檔或瀏覽器中發生的特定互動瞬間。
2.事件流
事件流描述的是從頁面中接受事件的順序,包含IE提出的事件冒泡流與Netscape提出的事件捕獲流。瀏覽器預設的是事件冒泡流。
兩種思想:
IE的事件流叫做事件冒泡,即事件開始時由最具體的元素接受,然後逐級向上傳播到較為不具體的節點。
Netscape團隊提出的另一種事件流叫做事件捕獲。事件捕獲的思想是不太具體的DOM節點應該更早接收到事件,而最具體的節點應該最後接收到事件。
3.事件處理常式
為事件指定處理常式的方式有好幾種。 HTML事件處理常式。 即我們直接在HTML代碼中添加事件處理常式,
eg:<input id="btn1" value="按鈕" type="button" onclick="showmsg();">
<script>
function showmsg(){
alert("HTML添加事件處理");
}
</script>
從上面的代碼中我們可以看出,事件處理是直接嵌套在元素裡頭的,這樣有一個毛病:就是html代碼和js的耦合性太強,如果哪一天我想要改變js中showmsg,那麼我不但要再js中修改,我還需要到html中修改。
(1)DOM0級事件處理常式
即為指定對象添加事件處理, 如:
<input id="btn2" value="按鈕" type="button">
<script>
var btn2= document.getElementById("btn2");
btn2.onclick=function(){
alert("DOM0級添加事件處理");
}
btn.onclick=null;//如果想要刪除btn2的點擊事件,將其置為null即可
</script>
(2)DOM2級事件處理常式 DOM2級事件定義了兩個方法,用於處理指定和刪除事件處理常式的操作:addEventListener()和removeEventListener()。所有DOM節點中都包含這兩個方法,並且它們都接受3個參數:要處理的 事件名,做為事件處理常式的函數和一個布爾值。最後這個參數如果是true,表示在捕獲階段呼叫事件處理常式;如果是fasle,表示在冒泡階段呼叫事件處理常式。
JavaScript中對事件簡單的理解