我有onclick事件的linkbutton。我想在FF中取消onclick事件,有时用户可以点击,有时无法点击。我想取消从其他控件(下拉列表,文本框)触发的JS函数中的onclick事件。所以,我想写函数,有时候取消这个事件,有时候不要从页面上另一个元素触发的函数中取消这个事件。
示例:
function someFCE(linkButtonID)
{
var linkButton = document.getElementById(linkButtonID);
if (//firefox//)
{
if (//something//)
//cancel event//
}
}
//取消事件//在哪里,请帮我编写代码来取消FF上的onclick事件。
对不起我的英语。
如果我理解正确,我可以在点击按钮后取消该活动。问题是,按钮有其他JS验证,这个按钮是危险的重写逻辑。
如果我用jquery添加其他点击事件来取消这个点击事件,这个取消事件在这个验证后调用。那么,是否有可能添加取消事件,在所有验证之前先调用,或者只是取消onclick事件?只在FF
感谢。
答案 0 :(得分:6)
您应该向元素添加一个事件监听器:
linkButton.onclick = function(ev){
ev.preventDefault();
ev.stopPropagation();
}
event
对象作为第一个参数传递给事件侦听器。可以在事件侦听器中调用event
对象的方法。 preventDefault()
可防止发生默认事件。 stopPropagation()
取消事件的泡沫,以便其他事件侦听器不再接收该事件。
答案 1 :(得分:0)
如果要停止触发click事件,可以将LinkButton的onclick事件设置为null:
linkButton.onclick = null;
这将删除以前的函数,因此单击该按钮时,不会调用任何事件处理程序。