我有 Div 元素,我将其 onClick 事件设置为 null,就像这样。
child.onclick = null;
在这种情况下,child 是一个 dom 元素,表示该 DIV 元素。
现在onclick事件已经不存在了,现在我想像这样再次拥有它。
child.onclick = new Function();
但这种方式行不通。我只想拥有设置为空之前的 onclick 行为。
任何人都可以帮忙吗?
谢谢,迪尔。
我有 Div 元素,我将其 onClick 事件设置为 null,就像这样。
child.onclick = null;
在这种情况下,child 是一个 dom 元素,表示该 DIV 元素。
现在onclick事件已经不存在了,现在我想像这样再次拥有它。
child.onclick = new Function();
但这种方式行不通。我只想拥有设置为空之前的 onclick 行为。
任何人都可以帮忙吗?
谢谢,迪尔。
我建议使用addEventListener
and removeEventListener
:
function handler(e){
}
添加监听器:
child.addEventListener('click', handler);
去除:
child.removeEventListener('click', handler);
注意正如马克沃尔特斯所说,使用attachEvent
and detachEvent
for 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;
但是,您可能应该查看addEventListener。
像这样:
document.getElementById('clickme').onclick = function(){ alert('clicked'); };