読者です 読者をやめる 読者になる 読者になる

Ctrl(Macだとcmd)+数字でタブを切り替えるショートカットキーを無効にする方法

[programming]
スポンサーリンク

browser.xulに対して下記を実行すると、タブを切り替えるショートカットキーを無効にできます。

window.removeEventListener("keypress", ctrlNumberTabSelection, false);

タブ切り替えのショートカットキーは、keyset,key要素を使ったショートカットキーの登録ではなく、browser.xulにそのままイベント登録してハンドリングされています。(なんで、これだけ…)。
browser.js(chrome://browser/content/browser.jsで参照できます)でイベント登録されているのですが、その実行タイミングが、browser.xulのonloadイベント時に実行される関数内で、さらにsetTimeoutで0ms指定して実行した関数、、で実行しているので、アドオンなどでbrowser.xulにオーバレイさせてやる場合には、下記のような感じで、遅らせてやる必要があります。

window.addEventListener('load', function() {
  setTimeout(function() {
    window.removeEventListener("keypress", ctrlNumberTabSelection, false);
  }, 1);
}, false);