PC端事件系統
阿新 • • 發佈:2018-12-22
在瀏覽器渲染介面過程中,不同階段會觸發一系列的事件。瀏覽器對於事件相容性不同。通常情況下事件監聽分為兩種情況: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 返回的可能是文字節點。