<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>