我使用C#创建了一个Asp.net MVC4 Web应用程序,我们可以为所有页面动态创建键盘快捷键。我们可以立即使用该键盘快捷键转到特定页面。问题是每个浏览器都有自己的默认值快捷方式。例如
如果我创建键盘快捷键 CTRL + A ,它应该重定向到我自己的自定义页面。但默认的浏览器快捷方式 CTRL + A 会改为从页面中选择所有内容。
我想禁用默认的浏览器快捷方式,以优先考虑我自己的自定义快捷方式。这是实现这些目标的任何方式吗?对于我的自定义快捷方式,我使用了jquery keyUp event.I在互联网上搜索,有关于jquery keyUp事件的建议,请使用preventDefault()。但是为了访问我自己的自定义快捷方式,我使用keyUp event.So告诉我建议禁用默认所有浏览器中的浏览器快捷方式可以是C#,jquery或任何其他方式。
答案 0 :(得分:8)
这可以让你这样做:
e.ctrlKey && String.fromCharCode(kc).toUpperCase()
检查要按下的 Ctrl + A 。
$(document).on('keydown', function(e) {
var kc = e.which || e.keyCode;
if (e.ctrlKey && String.fromCharCode(kc).toUpperCase() == "A") {
e.preventDefault();
console.log(String.fromCharCode(kc).toUpperCase());
window.location.href = 'your url here';
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
adfasfasdfsda
答案 1 :(得分:-1)
您的程序正确无误。我想你可以使用ascii值来操作这样的东西,例如:我用它来按回车键。
$('body').on('keypress', '#Selector-Id', function(e) {
if (e.which == 13) {
alert("Hi");
}
});