Jquery 采用Append进去的节点无法操作 解决办法


  当我们对一个节点进行click操作时,

 

1
2
3
 $('xx').click(function(){
      .......
   });

或者

1
2
3
 $('xx').bind('click',function(){
     .......
 });

 

但是如果是采用append进去的节点A,要想对A节点进行操作,采用上面两种就行不通了,解决办法为下

1
2
3
$('xx').live('click',function(){
     .......
 });

 上面的解决办法是采用live的方式,但是在jquery1.7后又进行了升级,不再使用live,而是将live 改为了on,即如下

1
2
3
$('xx').on('click',function(){
     .......
 });

但是on的方式,不能实现hover的效果,如果想实现的话,需要如下操作:

1
2
3
4
5
6
$('#setHeader').on('mouseenter''li'function() {
        $(this).find('ul').css('display','block');
    });
    $('#setHeader').on('mouseleave''li'function() {
        $(this).find('ul').css('display','none');
    });

特别注意:采用on时,选取的节点必须是静态存在的节点,不能是动态append进去的节点,如果需要对append进去的节点操作的话,需要  采用匹配规则进行匹配,

 具体的on的详细用法见 :http://blog.sina.com.cn/s/blog_52d20fbf0101ttne.html


     本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1536457,如需转载请自行联系原作者








上一篇:K8S从懵圈到熟练 – 集群服务的三个要点和一种实现


下一篇:深入浅出CoreOS(一):概述