1

簡単そうな問題がありますが、解決策が見つからないようです。基本的に、クリックイベントをトリガーするdivがあります。私のhtmlは:

  <li class="infobox">
      <a href="#"><img class="thumb" src="img/2.jpg" alt="image02" /></a>
      <div class="over">
        <img src="img/search_icon.png" alt="read more" />
         <h6>New business</h6>
         <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
       </div>
   </li>

私のjqueryコードは次のとおりです。

$('#news_gallery li .over').click(function(event) {
   // I have animation code here
});

問題はこれです:クリックイベントがimgまたはdiv'.over'内にあるテキストのいずれかで機能しないという事実を除いて、関数は正常に機能します。子要素がクリックイベントに渡されないのはなぜですか?関数に特別なパラメーターを渡す必要がありますか?

4

2 に答える 2

0

div コンテンツが動的であると思われます。イベントの設定後にコンテンツが読み込まれると、新しく挿入された要素には関連付けられたイベントがありません。簡単な修正は、「クリック」の代わりに「ライブ」を使用することです

$('#news_gallery li .over').live('click',function(event) {
   // I have animation code here
});
于 2013-03-14T10:55:17.047 に答える
-1

次のことを試すことができます:

<li class="infobox">
      <a href="#"><img class="thumb" src="img/2.jpg" alt="image02" /></a>
      <div class="over">
        <img src="img/search_icon.png" alt="read more" />
         <h6>New business</h6>
         <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
       </div
</li>

およびjs:

$('.infobox .over').click(function(e) {
  console.log(e);
});
于 2012-05-24T09:27:31.110 に答える