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