转自:http://blog.sina.com.cn/s/blog_64008ed70101nyoz.html
项目中使用到jQuery脚本插入一段代码,然后给代码加事件,但是click事件失效,网上找原因说是jQuery只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.
代码如下:
<div class="hotel_info_pic" id="imgDiv">
<ul id="imgUl">
</ul>
</div> <div id="alertDiv" style="display:none;">
<p>测试文字</p>
</div>
<script type="text/javascript">
$(document).ready(function(){
var temp="<li>111</li><li>222</li><li>333</li>";
$("#imgUl").append(temp);
$("#imgDiv ul li").click(function(){
$("#alertDiv").show();
});
});
</script>
点击li没有任何反应,然后改成live,一切OK.
<script type="text/javascript">
$(document).ready(function(){
var temp="<li>111</li><li>222</li><li>333</li>";
$("#imgUl").append(temp);
$("#imgDiv ul li").live('click',function(){
$("#alertDiv").show();
});
});
</script>