以编程方式删除Button上的事件侦听器

时间:2011-04-03 11:10:11

标签: javascript javascript-events

我有一个注册了onclick事件的按钮,如图所示

<Input type="Button" name="Register" Value="Register" onclick="CallMe();"/>

是否可以以编程方式删除或取消注册此按钮上的onclick事件?

2 个答案:

答案 0 :(得分:7)

您可以将onclick属性设置为null

var el = document.getElementById('inputId');
el.onclick = null;

或者更好的方法是使用元素的removeAttribute() docs方法完全删除该属性。

var el = document.getElementById('inputId');
el.removeAttribute('onclick');

你需要为这个元素添加一个id ..

http://jsfiddle.net/gaby/PBjtZ/

的示例代码

答案 1 :(得分:1)

document.getElementsByName("Register")[0].onclick = "" 

document.getElementsByName("Register")[0].removeAttribute("onclick")

确保将其放在文档末尾的JS标记中。因此,当此脚本运行时,DOM可用。

第一个示例获取dom中名为“Register”的所有元素并返回第一个元素,然后查找并将onclick属性设置为空字符串。 (可以为null)

第二个示例执行相同操作,但删除了属性“onclick”。

如果你有一个名为“Register”的元素,请注意你应该像Gaby aka G. Petrioli告诉你的那样。