项目中使用到jQuery脚本插入一段代码,然后给代码加事件,但是click事件失效,网上找原因说是jQuery只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.

代码如下:

<div class="hotel_info_pic" id="imgDiv">
  <ul id="imgUl">

<div id="alertDiv" style="display:none;">
 

测试文字




<script type="text/javascript">
   $(document).ready(function(){
     var temp="

  • 111
  • 222
  • 333
";
     $("#imgUl").append(temp);
       $("#imgDiv ul li").click(function(){
        $("#alertDiv").show();
     });
    });
点击li没有任何反应,然后改成live,一切OK.
<script type="text/javascript">
    $(document).ready(function(){
       var temp="";
       $("#imgUl").append(temp);
        $("#imgDiv ul li").live('click',function(){
         $("#alertDiv").show();
       });
     });