click事件不适用于复制的HTML

时间:2014-10-04 14:39:23

标签: jquery html

Click事件不适用于复制的HTML吗?

 <ul class="dir">//the given ul
 <li>  <img class="thumb" src="1.jpg" >  </li>
 <li>  <img class="thumb" src="2.jpg" >  </li>
 <li>  <img class="thumb" src="3.jpg" >  </li>
 <li>  <img class="thumb" src="4.jpg" >  </li>
 <li>  <img class="thumb" src="5.jpg" >  </li>
 <li>  <img class="thumb" src="6.jpg" >  </li>
 <li>  <img class="thumb" src="7.jpg" >  </li>
 </ul>
 <ul class="copy"></ul> //copied ul
 <script>
 $(function(){
 $(".copy").html($(".dir").html());
 $(".thumb").click(function(){
 alert("It works only on the .dir's thumb not on .copy's thumb .. why?");
 }
 );
 }
 </script>

1 个答案:

答案 0 :(得分:1)

您必须使用事件委派

$(document).on('click', '.thumb', function(){
   alert("This works every even if copied");
});

让它发挥作用。只有.click才会将处理程序附加到元素上,这些元素在声明处理程序时就已存在。