当我们对一个节点进行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,如需转载请自行联系原作者