首页 新闻 会员 周边

button绑定Click事件后,按下回车,触发的是click事件,求解?

0
悬赏园豆:60 [已解决问题] 解决于 2015-07-04 21:56

如题,

<body>

<button id="btn">222</button>
</body>
<script type="text/javascript">

// (function($){
// $("#btn").click(function(e){

// console.log(e.keyCode);
// console.log(event);
// // $("#btn").unbind("click");
// });


// }(jQuery));
var btn = document.getElementById("btn");
btn.onclick = function(e)
{
alert(2);
e.preventDefault();
}
</script>

 

描述:第一次点击button之后,再按回车,返回的event的type始终是click,这是为什么?有什么办法可以屏蔽使回车不触发click事件么?求大神帮忙解决,谢谢!

js
VinceChueng的主页 VinceChueng | 初学一级 | 园豆:81
提问于:2015-07-04 17:42
< >
分享
最佳答案
0

加个e.target.blur();让按钮失去焦点

        btn.onclick = function (e) {
            alert(2);
            e.target.blur();
            e.preventDefault();
        }
收获园豆:60
liqipeng | 小虾三级 |园豆:1160 | 2015-07-04 18:46

试了下,果真是可以的!谢谢!我还有个问题,就是为什么回车会响应button绑定的click事件呢?十分感谢

VinceChueng | 园豆:81 (初学一级) | 2015-07-04 21:55

@未来的未未来的来: 仔细观察一下,点击按钮时,按钮获得了焦点(focus),blur方法可以让他失去焦点

liqipeng | 园豆:1160 (小虾三级) | 2015-07-04 22:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册