2010-11-30 6 views
2

私はjs-hotkeysを使用しています。私は問題があります。私のキーの組み合わせが1つ以上のキーである場合です。 "Shift + Tab"を押すと、私の関数が2回呼び出されます。js-hotkeys、組み合わせが1つ以上のキーの場合に2回呼び出される

$("textarea").bind("keydown", "shift+tab", function() { ... }); 

ここで何が起こるか見る - >http://jsbin.com/osuza5/2/edit 1つのキーのように思えます。

答えて

3

これは、jQuery 1.4.2、it's a known issue以降で発生しています。幸運なことに、John 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

0

てみてくださいコード:

$( "テキストエリア")バインド( "KeyDownイベント"、 "シフト+タブ"、機能(e)の {e.preventDefault; bla..bla ...});

リンク:http://jsbin.com/osuza5/4/edit

0

お知らせ結合間に2回言及した組み合わせ。 1つは「keydown.shift + tab」です。 一部のブラウザで複数回発火しないようにするには、機能の最後にホットキーをアンバインドします。これは私のために働いた。 元のバージョンを使用しましたhttp://code.google.com/p/js-hotkeys/

これを使用すると、ブラウザのデフォルトを上書きしない可能性がありますのでご注意ください。したがって、物事は予想どおりに行われますが、バインドが解除されるとすぐに、ブラウザはタブを切り替えることがあります(シフト+タブ)。

$("textarea").bind("keydown.shift+tab", "shift+tab", function() { ... 
//Your Code Here 

//this should be in the end 
$("textarea").unbind("keydown.shift+tab", "shift+tab"); 
}); 
関連する問題