1

私は単純なhtmlを持っています:

<ul>
   <li>
      <img src"..."/>
      <div>...</div>
   </li>
   <li>
      <img src"..."/>
      <div>...</div>
   </li>
   <li>
      <img src"..."/>
      <div>...</div>
   </li>
</ul>

JavaScript (jQuery を使用) コードがあります。その中には 2 つのclickハンドラーがあります。1 つのハンドラーは<li>要素に適用され、もう 1 つのハンドラーは要素に適用され<img>ます。

質問: 2 つのハンドラーを別々に使用するにはどうすればよいですか? <li>ユーザーが をクリックしたときに のクリック ハンドラーのみを使用し、ユーザーがタグをクリックしたときに のハンドラー<li>のみを使用したいと考えています。jQuery経由でこれを実装するにはどうすればよいですか?<img><img>

4

2 に答える 2

3

ハンドラで使用するだけevent.stopPropagationです。img下記参照、

$('img').click(function (e) {
   e.stopPropagation();
});
于 2013-01-29T19:46:05.440 に答える
2

liハンドラー内からターゲットを確認します。

$('li').click(function (e) {
    if (e.target).is('img') return;
    // Now run the rest of your code...
});
于 2013-01-29T19:46:21.367 に答える