替代jquery live可以工作

前端之家收集整理的这篇文章主要介绍了替代jquery live可以工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个简单的代码. http://jsfiddle.net/borth/BmEZv/
如果您单击链接一次,它可以正常工作.如果再次单击它,则不起作用.由于在加载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>');
        });
    });

猜你在找的jQuery相关文章