IE8「Onclick」事件偵聽器與
在IE8 中使用提供的JavaScript 程式碼時, 的「onclick」事件處理程序將會被呼叫。元素可能無法如預期運作。此問題源自於 IE8 及早期版本的瀏覽器不支援「addEventListener」方法。
解決方案:
要解決此問題,有一個解決方法可以使用涉及IE8中「addEventListener」的非標準前身,即「attachEvent」。以下是使用此方法的 JavaScript 程式碼的修改版本:
hookEvent(document.getElementById("hd_vertical"), "click", function(e) { if(e.target.nodeName == "LI") { var _anchor = e.target.id; changeLocation(_anchor); } else if(e.target.nodeName == "SPAN") { var span = e.target; var li = span.parentNode; var _anchor = li.id; changeLocation(_anchor); } });
此程式碼的工作原理如下:
注意: IE8 也缺乏對「getElementsByClassName」的支援。考慮使用「querySelector」或「querySelectorAll」來取代:
var _url = document.querySelector("." + id).getAttribute('href');
透過實作這些更改,
以上是為什麼我的 `` onclick 事件處理程序在 IE8 中失敗,如何修復它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!