我添加了一个onclick事件,它打开一个新的标签/页面,到一个已经有一个动作的按钮(我不知道哪个动作导致它没有在源中显示,或者可能是一个表单提交动作)。
Button最初还在新标签页面中打开一个页面,我想要做的是在我的onclick属性执行后启动一些函数,这将停止执行并且不会发生默认页面打开,只会加载我的页面。
有什么可以做的吗?
答案 0 :(得分:0)
听起来事件在你处理之后冒泡了。要阻止这种情况发生,请在处理程序的末尾添加event.cancelBubble = true
。
答案 1 :(得分:0)
使用jQuery,您可以这样做:
$('button').click(function() {
//do something
return false; // stop the event from propagating
});
答案 2 :(得分:0)
尝试通过onclick事件调用您的函数返回false。这将导致按钮的任何现有操作被覆盖
答案 3 :(得分:0)
如果使用'onclick ='设置处理程序,您只需重写onclick属性。
如果使用addEventHandler或attachEvent将处理程序添加到元素,则可以使用removeEventHandler或detachEvent删除它,使用与设置它相同的参数。
如果您不知道设置器,或者它使用匿名功能,则无法将其删除。
您可以使用没有事件的副本替换元素,并在新元素上设置自己的元素。
(cloneNode不应该克隆事件,但有时在某些浏览器中会这样做。)