1. 程式人生 > >PC端事件系統

PC端事件系統

在瀏覽器渲染介面過程中,不同階段會觸發一系列的事件。瀏覽器對於事件相容性不同。通常情況下事件監聽分為兩種情況:onClick 位於元素標籤內部,element.addeventlistener 位於JS程式碼中。兩種事件繫結機制中,第一種簡單,第二種適應範圍更廣(不會衝突,同一個元素可以繫結不同的事件)。

element.addEventListener('click',function(){
  callback();
});
element.dispatchEvent(event);

// 在IE中需要注意相容性
element.attachEvent('on'+type, callback)
; element.detachEvent('on'+type, callback); //通常情況下,w3c是基礎語法。

onClick 事件的侷限性:

1、針對新的事件DOM3,部分不能使用;

2、onClick只能繫結一次回撥函式,如果重複繫結,後面的事件會覆蓋前面的事件。

3、在IE下沒有回撥函式

4、只能在事件冒泡階段觸發

attachEvent 在IE下使用,對於其他DOM3的事件不相容。

addEventListener 事件物件不穩定,新DOM3事件不穩定,瀏覽器相容不穩定。

Safari下面 event.target 返回的可能是文字節點。