がない限り(これは今クリックリスナーを起動し、ユーザーが自分のボタンをクリックすると、クリックイベントが私のボタンの上に発射して、そのすべての親に伝播します特定の要素のイベントをリッスンして、関係のない要素にそのイベントを発生させますか?
btn.addEventListener("click", function(e) {
console.log("button clicked");
});
私は、ボタンのクリックをリッスン言いますバブリングが防止される)。しかし、ユーザーが完全に無関係の要素をクリックするとどうなりますか?これによりイベントがその要素で発生し、それからすべての親に伝播するかどうか(これらのクリックイベントを処理することに興味がない場合でも)
特定の要素でリスンを開始すると、ウィンドウ全体のクリックに対してリスナーが必要であると私の推測は間違いありません。しかし、私は確信していません。オライリーによるJavaScriptの要旨を
イベントは発生するはずですが、コードを記述しない限り、イベントは処理されません。 – AndFisher
他の要素とのやりとりが発生した場合、あなたのハンドラはイベントを発生させますか?私はそうは思わないだろう。イベントシステムは、追加されたハンドラに関係なく実行されている必要があります。誰かがどこかでハンドラを追加するまで起動しなければ、私は驚くだろう。しかし、私は確かにわからないと思う。 –
@squint、それらのハンドラがまったくないのにすべてのイベントが聴かれていますか?これは、可能なイベントの問題を考えれば、プロセッサ時間の膨大な無駄です。それについては確かですか? – user7307621