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 内容是动态的。设置事件后加载内容时,新插入的元素没有任何关联事件。一个快速的解决方法是使用“live”而不是“click”

$('#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 回答