我应该使用 F5 或 Ctrl+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/