Twitterのログインページに移動し、コンソールに次のように入力します。
window.addEventListener('keypress', function(e){console.log('hello')}, true)
(注:trueイベントキャプチャを有効にする3番目のパラメータの設定方法。これにより、子要素によって消費される前に、イベントが最初にウィンドウによってインターセプトされます。)
いくつかのキーを押してみてください。helloコンソールに出力されないことに注意してください。イベントリスナーを追加しても、何も変更されkeydownませkeyupん。
helloほとんどのWebサイトで出力されますが、TwitterやGmailなどのサイトでは出力されません。
なんで?イベントリスナーを停止しているのは何ですか?
編集:Firefoxで期待どおりに動作するようです。しかし、Chromeではありません。Chromeが期待どおりにイベントリスナーを起動しないのはなぜですか?
編集2:以下の数人が推測してconsole.logいるように、TwitterやGmailなどのサイトのChromeでは空の関数です。何故ですか?