关于一个按钮绑定两个事件的问题,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");
})
<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");
})
相关文章推荐
- C# 中的委托和事件
- CreateProcess的命令行参数
- hdu 5463 Clarke and minecraft
- 离线编译JSX文件
- POJ 3243 Clever Y (求X^Y mod Z = K)
- 使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理
- HDU 1421 搬寝室
- NFS挂载文件系统需要的内核和uboot的配置
- PAT(A)1003
- 重造轮子-random5到random7
- jquery checkbox反复调用attr('checked', true/false)只有第一次生效
- IOS开发测试之单元测试中的理论知识
- 死锁 银行家算法
- android2.3平台上web页面(html5中使用frame)不能滑动、不允许缩放的解决方法
- 自己编程实现更改电脑桌面背景并同时播放音乐
- 对象流注意点
- iOS开发脚踏实地学习day12-通讯录和plist存储
- 坦克发射炮弹打死自己的问题
- 快手之家(aardio.net) - 构思
- scanner 死循环问题