5

私はCTRL +SHIFT +Bを押すとテキストエリア内の選択したテキストに特定の操作を実行することuser scriptを書きました。上書きクロームキーボードショートカット

これは、テキストエリアにkeypressイベントを登録して、押されたキーを確認することによって行われます。ブラウザがキーコンビネーションを処理しないように、私はpreventDefault()メソッドを使用しています。これはFirefoxでうまく動作します(ライブラリウィンドウが開かずにコードが実行されます)。

ただし、Chromeでは、キーの組み合わせによってブックマークバーが開き、keypressイベントは起動されません。

Chromeでこのようなショートカットを作成する方法があるのだろうかと思います。私はFirefoxとChromeの2つの異なるバージョンを維持したくないので、実際の拡張機能はオプションではありません。

答えて

5

どうやら、クロムUIは(なぜThis Quirksmode articleが提案するかもしれない - keypressは、実際の文字が挿入されているときに起動するようにをを想定している)​​代わりのkeypressのオフにトリガします。だから、に適切な行を変更

$(document).on('keydown', '.wmd-input', function(e) { 

はFFとChromeの両方で動作するようです。

+0

元のキーボードショートカットを無効/無効にするか、どちらも起動しますか? – Patrick

+0

@Patrick、Depends。 'preventDefault()'、 'stopPropagation()'、 'stopImmediatePropagation()'などを参照してください。 –