您的位置:首页 > 其它

关于一个按钮绑定两个事件的问题,click和submit

2015-09-21 20:43 411 查看
被一个为题困了三天,一个提交按钮先后被绑定两个事件函数f1,f2相先后顺序是先执行f1,然后f2。先要在f1中加入判断来决定支不执行f2,如果两个都是绑定的click事件,则第一个函数中返回false,f2还是会执行,如果第一个是click,第二个是submit则f2不会执行如:

<body>

<form>

<button id='b1'>提交</button>

</form>

</body>

<script>

var b=document.getElementById("b1");

b.addEventListener("click",function(event){alert(1);})

b.addEventListener("submit",function(){return false;alert(2)})

</script>

submit事件不会被执行

原理:表单中的submit按钮的click事件优先于表单form的submit事件,表单submit事件的执行依据submit按钮的返回值来判断是否继续需要执行submit事件。表单的submit事件中return false也可以阻止表单的提交,而不一定依靠onsubmit事件返回false来阻止表单的提交。
  当submit的click事件返回false时,不会执行form表单的submit事件,返回非false值或者没有return语句返回内容都才会执行表单的submit事件
<form action="1.php" method="get">

<input id="b2" type="submit">

</form>

$("#b2").click(function(){

alert("b2click");

return false;

})

$("form").on("submit",function(){

alert("b2submit");

})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: