admin管理员组文章数量:1635338
问题描述:Javascript中keydown会重复触发,导致了重复提交的问题
解决方案:
一、使用keyup事件代替
document.addEventListener('keyup',function(){
//dosomething...
});
该方法在shift+enter
等组合键有一定概率不触发的问题,具体看个人操作习惯
二、使用flag变量控制
var flag=false;
document.addEventListener('keydown',function(){
if(flag){
return;
}
flag=true;
//dosomething...
});
document.addEventListener('keyup',function(){
flag=false;
});
该方法在shift+enter
等组合键时需特殊处理
三、使用event.repeat
document.addEventListener('keydown',function(e){
if(e.repeat){
return ;
}
//doSomething...
});
该方法会有兼容性的问题,参考:http://help.dottoro/ljbupnfj.php,https://developer.mozilla/en-US/docs/Web/API/KeyboardEvent/repeat
本文标签: keydown
版权声明:本文标题:解决keydown重复触发提交的问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1725725823a1038942.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论