根据我发现的一些问题,我可以找出如何防止组合键,但是我想定义一个短键…
一种方法是在jQuery中使用bind()
函数,问题是,key的默认作业仍然在工作。即:Ctrl+s = savepage
解决方案吗?
您链接的问题并不完全是您正在寻找的,但可以使用相同的概念。这是jQuery等效的只监听Ctrl+s
$(document).on("keydown",function(e){
if (e.originalEvent.ctrlKey && e.which == 83/*"s"*/) {
setTimeout(function(){ //Fix for firefox. Ref: http://stackoverflow.com/questions/14860759/cant-override-ctrls-in-firefox-using-jquery-hotkeys
// do save stuff...
alert("Saved!"); // if you remove alert, you can remove setTimeout
},0);
return false;
}
});
http://jsfiddle.net/SEQVD/3/已在Chrome、Firefox和IE中测试
请确保您绑定到快捷方式的事件包含preventDefault。在jquery中应该是这样的:
function event(e) {
e.preventDefault();
}
使用其他框架,这可能不同,如e.stop()
或e.stopEvent()
。