IE9 detachEvent取消不了寫在html代碼上進行綁定的事件

<html>
<body>
<button id="myButton" οnclick="changeBg();">點擊變色</button>
<button οnclick="detachFunction();">DetachFunction</button>
<script language="javascript">
    function changeBg(){
        document.bgColor = 'red';
    }
    function detachFunction() {
        document.bgColor = 'white'; 
        document.getElementById("myButton").detachEvent('onclick', changeBg);
    }
</script>
</body>
</html>


IE9對於寫在html標籤中進行綁定的事件無法用detachEvent取消綁定。

測試發現動態綁定的事件,才能動態取消綁定

<html>
<body>
<button id="myButton">點擊變色</button>
<button οnclick="attachFunction();">AttachFunction</button>
<button οnclick="detachFunction();">DetachFunction</button>
<script language="javascript">
    function changeBg(){
        document.bgColor = 'red';
    }
    function attachFunction(){
	document.getElementById("myButton").attachEvent("onclick", changeBg);
    }
    function detachFunction() {
        document.bgColor = 'white'; 
        document.getElementById("myButton").detachEvent('onclick', changeBg);
    }
</script>
</body>
</html>


發佈了35 篇原創文章 · 獲贊 38 · 訪問量 55萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章