javascript - blur 和enter冲突怎么解决?
本文介绍了javascript - blur 和enter冲突怎么解决?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
HTML
<input type="text" />
JS:
<script>
$("input").blur(function(){
alert("bluring");
});
$("input").keydown(function(e){
if(e.keyCode === 13){
alert("keydowning");
}
})
</script>
很明显当执行keydown时弹出alert("keydowning");但是点击alert的确定后就会又触发blur无限死循环,我想分别执行两种效果互不影响该怎么解决??谢谢
解决方案
<script>
var shouldAlert=true
var isAlert = false
$("input").blur(function(){
if(shouldAlert){
alert("bluring");
shouldAlert=false
}
});
$("input").focus(function(){
if(!shouldAlert){
setTimeout(function(){
shouldAlert=true
},0)
}
})
$("input").keydown(function(e){
if(e.keyCode === 13){
shouldAlert=false
alert("keydowning");
}
})
</script>
这篇关于javascript - blur 和enter冲突怎么解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文