帶有內聯函數的onClick 事件旨在改變元素樣式的名為「animate」的函數在Chrome 中失敗,但在IE 中按預期運行。 「animate」函數中呼叫的程式碼旨在使用 JavaScript 修改元素的位置和顏色。
問題在於 JavaScript 的範圍鍊和影子機制。當使用內聯事件處理程序屬性(例如 onclick)時,全域函數「animate」會被最近引入的「Element.prototype.animate」方法所掩蓋,該方法源自於 Web 動畫 API。
根據 DOM 規範,全域事件處理程序環境在事件處理期間隱藏元素的範圍。因此,元素的 'animate' 方法優先於全局 'animate' 函數。
要修正這個問題,可以用多種方法:
以上是為什麼我的'animate”函數在 IE 中工作但在 Chrome 中不起作用:JavaScript 陰影問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!