日期:2014-05-16  浏览次数:20464 次

关于撤销js事件的问题
简单的问题一个:
<HTML>
<HEAD>
<META   http-equiv= 'Content-Type '   content= 'text/html;charset=gb2312 '>
<Meta   name= 'Gemeratpr '   content= '爱爱爱>
<TITLE> </TITLE>
<STYLE>
*{font-size:12px;color:;}
a{text-decoration:none;}
a:hover{color:red;}
</STYLE>
</HEAD>
<BODY   topmargin= '2 '   leftmargin= '2 '   onmousedown= 'mouseDown(); '>
<BASE   target= '_top '>
<SCRIPT   language= 'Jscript '>
function   mouseDown(){
alert( "hello ");
}
function   DetachBodyEvent(){
document.body.detachEvent( 'onmousedown ',mouseDown);
}
</SCRIPT>
<input   type= 'button '   value= '删除body的onmousedown事件 '   id= 'btn '         name= 'btn’   onclick= 'DetachBodyEvent(); '   />


</BODY>
</HTML>
--------------------------------------
上述代码我主要是在页面加载时先给body一个onmousedown事件,在我点击了那个按钮时我想撤销body对象的onmousedown事件,怎么我写的这个不行呢??好心人告诉下啊。或者是我函数用错了。如果是那样,应该用什么函数来删除一个对象的事件对应的处理函数呢???

------解决方案--------------------
事件使用attachEvent 加上的才能你那样用,
document.body.detachEvent( 'onmousedown ',mouseDown);
就是说用attachEvent 加方法,才可以用detachEvent去方法。
你那个要这样做:document.body.onmousedown = null;