根據questions我發現如何防止我們的組合鍵。如何更換瀏覽器快捷鍵默認
,但我想定義一個快捷鍵...
一個方法是使用bind()
功能jQuery的,問題是,鍵的默認工作仍在工作。 i.e: Ctrl+s = savepage
任何解決方案?
根據questions我發現如何防止我們的組合鍵。如何更換瀏覽器快捷鍵默認
,但我想定義一個快捷鍵...
一個方法是使用bind()
功能jQuery的,問題是,鍵的默認工作仍在工作。 i.e: 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;
}
});
在Chrome,火狐和IE測試。
這是我想要的...是否有任何提示使用'e.originalEvent.ctrlKey'而不是ctrl + s – Pooya 2013-03-06 14:04:50
請確保您綁定到快捷方式的事件包含preventDefault。 jQuery中這應該是這樣的:
function event(e) {
e.preventDefault();
}
使用其他框架,這可能是像e.stop()
或e.stopEvent()
不同。
到目前爲止您還在研究什麼?你使用哪個瀏覽器? – 2013-03-04 15:35:05
需要一種方式適用於所有主流瀏覽器,如果有... – Pooya 2013-03-04 15:36:40
老實說,我更喜歡我的瀏覽器的鍵盤快捷方式干擾一些網站的人比相反;-) – 2013-03-04 15:44:12