2011-04-03 47 views
3

我有如图所示删除事件监听器上的按钮编程

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

是否有可能以编程方式删除或注销此按钮onclick事件,其与onclick事件注册的按钮?

回答

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/

+0

或者您可以通过名称 – meo 2011-04-03 11:19:26

+1

@meo获取元素的确如此。但可能会有许多同名的,我想避免解释他需要做一个循环..但你绝对正确,有这样的选择.. – 2011-04-03 11:20:52

+0

哦你的权利我要更新我的例子 – meo 2011-04-03 11:22:59

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

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

确保把这个在JS标签在你的文档的末尾。所以当这个脚本运行时,DOM是可用的。

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

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

要小心,如果你有多个名称为“Register”的元素,你应该像Gaby一样做,就像G.Petrioli告诉你的那样。

+0

+1

示例代码,我们写了同样的事情基本上:) – 2011-04-03 11:37:27

+0

非常感谢你 – Kiran 2011-04-03 17:00:51