問題:
問題:動畫函數,透過呼叫事件處理程序內容屬性,在Chrome 中無法執行,但在Internet中正常運行Explorer.
說明:在 Chrome 中,全域 animate 函數被最近在 Web 動畫中引入的 Element.prototype.animate 所掩蓋。這種陰影是由於事件處理程序的詞法環境作用域引起的,該作用域優先考慮目標元素的作用域而不是全域作用域。
解決方案:function animate__() { var div = document.getElementById('demo'); div.style.left = "200px"; div.style.color = "red"; }重新命名動畫函數:
document.getElementById('demo').addEventListener('click', function() { animate().bind(window); });使用 bind() 方法: 將 animate 函數綁定到全域對象,以確保它始終在全域物件內執行範圍。
以上是為什麼我的 JavaScript `animate` 函數在 IE 中可以工作,但在 Chrome 中失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!