我有这个简单的代码.
http://jsfiddle.net/borth/BmEZv/
如果您单击链接一次,它可以正常工作.如果再次单击它,则不起作用.由于在加载DOM后html被加载到html中,我尝试过.on,.bind,.delegate和.live.除了被弃用的.live之外,它们都没有用(我使用的是jquery 1.7.2).
如果您单击链接一次,它可以正常工作.如果再次单击它,则不起作用.由于在加载DOM后html被加载到html中,我尝试过.on,.bind,.delegate和.live.除了被弃用的.live之外,它们都没有用(我使用的是jquery 1.7.2).
有人可以解释为什么.live是唯一有效的功能,以及为什么其他功能不起作用(或者如果我对其他功能做错了).
$(document).ready(function(){ $(".OpenPopup").bind('click',function(e){ alert('test .OpenPopup'); // do something return false; }); $(".EditIcon").bind('click',function(){ alert('test .EditIcon'); // do something $("#ABC").html('<div class="EditIcon OpenPopup" pwidth="800" pheight="500" ptitle="EditText">click here again</div>'); }); }); <div id="ABC"><div class="EditIcon OpenPopup" pwidth="800" pheight="500" ptitle="EditText">click here</div></div>
解决方法
$(document).ready(function(){ $(document.body).on('click',".OpenPopup",function(e){ alert('test .OpenPopup'); // do something return false; }); $(document.body).on('click',".EditIcon",function(){ alert('test .EditIcon'); // do something $("#ABC").html('<div class="EditIcon OpenPopup" pwidth="800" pheight="500" ptitle="Edit Text">click here again</div>'); }); });