javascript - 如何在不影响所有键的情况下在 jquery 中使用 keydown 事件?

标签 javascript jquery keydown page-refresh onkeydown

我应该使用 F5Ctrl+F5 来阻止页面刷新。我准备了以下代码来达到这个目的,但是当我按下页面中的任意键时,该功能正在运行并且无法填充任何文本框或按下页面中的任何其他键。我该如何解决这个问题?

      $(" * ").bind('keydown', 'F5', function (e) {
        e.preventDefault();
        abp.message.confirm("Are You Sure To Refresh This Page?",
            function (isConfirm) {
                if (isConfirm) {
                    window.location = "NewForm?id=" + $("#Id").val();
                }
            });
    });

最佳答案

F5 的正确键码是 116:

    $(function () {  
        $(document).keydown(function (e) {  
             if((e.which || e.keyCode) == 116){
              if(confirm("Your confirmation message...")){
                 e.preventDefault(); 
              }
             }
        });  
    }); 
<body>  
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>  
</body> 

为了完整性而添加

可以结合 e.ctrlKey 来检测 Ctrl + F5 组合的按下。看起来有点像

if (evtobj.keyCode == 116 && evtobj.ctrlKey) alert("Ctrl+F5"); 

找到 this working fiddle .

关于javascript - 如何在不影响所有键的情况下在 jquery 中使用 keydown 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51166339/

相关文章:

javascript - 使用javascript从字符串中解析youtube视频id

javascript - 在 Javascript 错误中将字符串转换为 float

jquery - 从服务器端使用 TreeView 实现 Jquery Data Tale

jQuery 可以检测更改时的选择值,但不能检测页面加载时的选择值?

错误?按向上和向左箭头键时没有空格键事件

Python模拟keydown

javascript - 如何使用 Javascript 在打印时显示不同的 div

javascript - 选择当功能有自己的样式时不使用的交互样式

javascript - 在 Javascript 中将数组设置为 Map 值

javascript - Keydown 效果,如果 keyup 在效果完成之前发出警报