2015-10-16 69 views
0

我有代碼片段 document.attachEvent(「onclick」,func);Javascript問題IE 11

每當有一個click事件,我得到這個錯誤 的JavaScript運行時錯誤:對象不支持屬性或方法「的attachEvent」

我使用jQuery 1.2.6版本。

+0

jQuery是沒有問題的......顯然IE11使用標準的'element.addEventListener(「點擊」 ...)',而不是微軟attachEvent –

+0

當jQuery v1.3.0於2009年1月14日發佈**時,jQuery v1.2.6變得過時了。我強烈建議您不要繼續使用超過六年過時的圖書館。 –

回答

1

attachEvent是微軟的一項創新,它已被DOM2標準addEventListener取代,即使在微軟最新的瀏覽器中。

因此改變

document.attachEvent("onclick", func); 

document.addEventListener("click", func, false); 

當然,這將在舊的IE失敗。

或者,正如你說你使用jQuery,你可以迴避整個問題:

$(document).bind("click", func); // Antiquated jQuery 

我也強烈建議您使用jQuery的先進的最新版本,爲V1 .2.6在網絡條款中是。如果您使用的東西最近,然後你會使用:

$(document).on("click", func);  // Current jQuery 
+0

document.addEventListener(「click」,func,false);虛假代表 –

+0

@PoonamSinghania:'false'意味着你想要事件的冒泡階段而不是捕獲階段。 'attachEvent'和jQuery *只支持冒泡階段。在現代瀏覽器中,您可以關閉第三個參數,但是一些較舊的參數仍然可能需要。 [查看DOM3事件規範的這部分](http://www.w3.org/TR/DOM-Level-3-Events/#event-flow)。 –