1

私は次のHTMLコードを持っています

    <div id="id0_0" class="clearfix" style="margin-left:40px">
       <div id="id0_1" class="choice">
          <span id="spanradio_1" class="radio"> </span>
          <span id="spanlabel_1" class="label"><label id="label_1">Indoor</label></span>
       </div>

       <div id="id0_2" class="choice">
          <span id="spanradio_2" class="radio"> </span>
          <span id="spanlabel_2" class="label"><label id="label_2">Outdoor</label></span>
       </div>
    </div>

次のjQueryを使用します。

    jQuery('.choice').click( function(e) {
       alert('clicked!! ' + e.target.id);
       var src_ele = $(e.target);

       e.stopPropagation();
       return false;
    });

ただし、クリックがトリガーされるのは、divではなくspanradioとlabelです。これを引き起こしている理由は何ですか?

ありがとう!

4

3 に答える 3

1

e.targetユーザーが実際にクリックした要素です。

ユーザーがネストされた要素をクリックするe.targetと、その要素になります。

于 2012-08-27T20:58:35.783 に答える
1

基本的に:

  • thisイベントをバインドした要素です(つまり、呼び出したセット内の要素の1つ.on
  • e.targetクリックした最も深い要素です

だからあなたは欲しいthis.id

于 2012-08-27T21:45:31.480 に答える
0

ラベルは「.choice」要素の唯一のコンテンツであり、したがってTOPにあるため、実際には要素であるため、クリックしました...

これがあなたにぴったりかどうかチェックしてevent.relatedTargetください。

于 2012-08-27T20:59:28.980 に答える