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では空の関数です。何故ですか?