我正在使用js-hotkeys。我有一個問題,當我的組合鍵超過1個鍵時,例如。 「Shift + Tab」,我的功能被提升兩次。js-hotkeys,當組合超過1個鍵時,功能會上升兩次
$("textarea").bind("keydown", "shift+tab", function() { ... });
看看這裏會發生什麼 - >http://jsbin.com/osuza5/2/edit。似乎與1鍵,它也觸發兩次。
我正在使用js-hotkeys。我有一個問題,當我的組合鍵超過1個鍵時,例如。 「Shift + Tab」,我的功能被提升兩次。js-hotkeys,當組合超過1個鍵時,功能會上升兩次
$("textarea").bind("keydown", "shift+tab", function() { ... });
看看這裏會發生什麼 - >http://jsbin.com/osuza5/2/edit。似乎與1鍵,它也觸發兩次。
這發生在jQuery 1.4.2,it's a known issue以來。幸運的是,約翰Resig分叉這並創建了一個更更清潔的版本,同時回來那也...好 - 它的作品,you can check it out here。
更新你的jsbin指向這個插件版本:https://github.com/jeresig/jquery.hotkeys/raw/master/jquery.hotkeys.js(這就是只有更改),它的工作原理。 You can test it out here。 。
try代碼:
$( 「文本域」)結合( 「的keydown」, 「Shift + Tab」,函數(E) {e.preventDefault; bla..bla ...});
通知綁定期間兩次提到的組合。其中一個是「keydown.shift + tab」。 爲了防止它在某些瀏覽器中多次觸發,請在功能末尾解除熱鍵的綁定。這對我有效。 我用過原始版本http://code.google.com/p/js-hotkeys/
請注意,使用這可能會阻止您覆蓋任何瀏覽器默認值。因此,即使事情按預期進行,但一旦發生解除綁定,瀏覽器可能會因此切換標籤(shift + tab)。
$("textarea").bind("keydown.shift+tab", "shift+tab", function() { ...
//Your Code Here
//this should be in the end
$("textarea").unbind("keydown.shift+tab", "shift+tab");
});