在OnClick设置为null之后,如何在Javascript中再次执行OnClick行为
我让Div元素和Im将其onClick事件设置为null,如下所示在OnClick设置为null之后,如何在Javascript中再次执行OnClick行为,javascript,dom,javascript-events,Javascript,Dom,Javascript Events,我让Div元素和Im将其onClick事件设置为null,如下所示 child.onclick = null; child.onclick = new Function(); 在本例中,child是表示该DIV元素的dom元素 现在onclick事件已经不存在了,现在我想再这样做一次 child.onclick = null; child.onclick = new Function(); 但这样做是行不通的。我只想让onclick行为保持在设置为null之前的状态 有人能帮忙吗 谢谢,
child.onclick = null;
child.onclick = new Function();
在本例中,child是表示该DIV元素的dom元素
现在onclick事件已经不存在了,现在我想再这样做一次
child.onclick = null;
child.onclick = new Function();
但这样做是行不通的。我只想让onclick行为保持在设置为null之前的状态
有人能帮忙吗
谢谢,
Dil.像这样:
document.getElementById('clickme').onclick = function(){ alert('clicked'); };
我建议使用
addEventListener
和removeEventListener
:
function handler(e){
}
要添加侦听器,请执行以下操作:
child.addEventListener('click', handler);
删除:
child.removeEventListener('click', handler);
注意正如马克·沃尔特斯所说,使用attachEvent
和detachEvent
来表示IE<9
// save reference to the old callback function
var oldOnclickFn = child.onclick;
// set onclick to null
child.onclick = null;
// set the onclick to the function that was there before.
child.onclick = oldOnclickFn;
但是,您可能应该查看。尝试
document.getElementById('myDiv')。onclick=function(){//您的代码在这里}代码>如果您正在谈论动态删除和附加onclick功能。当然,如果您有一个命名函数function myFunc(){//code here}
一旦设置了child.onclick=null
,您就可以使用child.onclick=myFunc重新附加所需的功能代码>?一旦onClick设置为null,我们仍然可以单击DIV,但什么也没有发生。我只想要onClick事件的默认行为。我没有自己定义的任何函数。请注意,IE不支持addEventListener
和removeEventListener
。本页包含一个垫片,它为这些功能添加了浏览器支持。如果IE一旦onClick设置为null,我们仍然可以单击DIV,但什么也没有发生。我只想要onClick事件的默认行为。我没有自己定义的任何函数。@DilanAlex如果没有侦听器连接到click事件,请保留它,为什么要将其设置为null?如果已附加侦听器,并且您想要默认行为,则使用removeEventListener