【发布时间】:2016-11-04 14:30:36
【问题描述】:
我正在处理 html 中的表单提交。请看下面的代码
<form id="form1">
<button id="btn1" onclick="clicked();">Submit</button>
</form>
<script>
$("#btn1").click(function (event) {
alert("event triggered");
if(some_condition == true){
// stop firing onclick method but it always submits the form
event.stopImmediatePropogation(); // not working
event.preventDefault(); // not working
event.stopPropogation(); // not working it's for bubbled events
}
});
function clicked(){ alert("clicked me"); }
</script>
我想阻止clicked() 函数触发,该函数附加到内联onclick 属性。我想运行我的 jquery click 函数,如果出现问题,我不想触发 onclick,但它总是运行 clicked() 函数。任何人都可以帮助我。任何帮助是极大的赞赏。
【问题讨论】:
-
来自
onclick属性的clicked()函数是否运行first?如果您使用 jQuery,为什么还要有一个内联onclick属性?使用.click()函数绑定两个处理程序,您首先绑定的任何一个都可以调用stopImmediatePropogation()以防止第二个运行。 (或者将它们组合成一个处理程序。) -
@nnnnnn 抱歉,“onclick”是自动生成的代码,我们无法删除 onclick 事件,如果我们想附加事件,请通过 jquery 添加它们,但我们无法随时删除 onclick 并注意“onclick”事件处理程序最后运行
-
stopPropogation打错了,应该是stopPropagation
标签: javascript jquery