0

私はjqueryを初めて使用し、現在「jQueryの学習」を読んでいます。イベントのキャプチャとevent.targetについて質問があります。

私は次のようなhtmlコードを持っています:

<div id="switcher" class="switcher">
        <h3>Style Switcher</h3>
        <button id="switcher-default">
          Default
        </button>
        <button id="switcher-narrow">
          Narrow Column
        </button>
        <button id="switcher-large">
          Large Print
        </button>
</div>

jQuery によるイベント キャプチャによると、 jQuery はイベント キャプチャをサポートしておらず、バブリングのみをサポートしています。つまり、ボタンと div 要素の両方がクリック イベントにバインドされていて、ボタンをクリックすると、ボタンのクリックが最初に呼び出され、次に div が呼び出されます。イベントのキャプチャはサポートされていないため、div 領域をクリックすると、ボタンのクリック関数は呼び出されません。

ただし、次のようなものを追加すると:

$("#switcher").click(function(event) {
    alert(event.target);
});

ボタンをクリックすると、イベントターゲットはボタンになります。セレクター $("#switcher") が div 要素のみを選択する場合、ボタンをクリックすると、event.target にアラートが表示されるのはなぜですか? ボタンをクリックすると、上記のjQueryがまったく呼び出されないのではないかと思いましたか?

4

0 に答える 0