没啥好说的,看代码吧 !
jQuery 版本 : 1.71
浏览器版本:chrome 21
<body> <ul class="a-list"> <li><a href="javascript:;">test1</a></li> <li><a href="javascript:;">test2</a></li> <li><a href="javascript:;">test3</a></li> <li><a href="javascript:;">test4</a></li> <li><a href="javascript:;">test5</a></li> </ul> <ul class="button-list"> <li><button>test1</button></li> <li><button>test2</button></li> <li><button>test3</button></li> <li><button>test4</button></li> <li><button>test5</button></li> </ul> </body>
1 //绑定 2 $(document).delegate('a', 'click', function() 3 { 4 alert($(this).html()); 5 });
1 //不能取消 2 $(document).undelegate('a'); 3 4 //可以取消 5 $(document).undelegate('a', 'click');
1 //绑定 2 $(document).delegate('a, button', 'click', function() 3 { 4 alert($(this).html()); 5 });
//不能取消 $(document).undelegate('a', 'click'); //不能取消 $(document).undelegate('button', 'click'); //可以取消 $(document).undelegate('a, button', 'click');
注意:
1 //不能取消 (与绑定时选择器内容不一致,顺序颠倒) 2 $(document).undelegate('button, a', 'click'); 3 4 //不能取消 (与绑定时选择器内容不一致,少了一个空格) 5 $(document).undelegate('a,button', 'click');
1 //绑定 2 $(document).delegate('a, button', 'click mouseover', function(e) 3 { 4 alert($(this).html()); 5 });
//略过部分测试,同上 //不能取消 $(document).undelegate('a', 'mouseover'); //可以取消 $(document).undelegate('a, button', 'click'); //可以取消 $(document).undelegate('a, button', 'mouseover'); //可以取消 $(document).undelegate('a, button', 'mouseover click');
1 //绑定 2 $('.a-list').delegate('a', 'click mouseover', function() 3 { 4 alert($(this).html()); 5 });
//略过部分测试,同上 //不能取消 $(document).undelegate('a', 'click'); //可以取消 $('.a-list').undelegate('a', 'click'); //可以取消 $('ul').undelegate('a', 'click'); //可以取消 $('ul').undelegate(); //可以取消 $('.a-list').undelegate();
以上是jQuery中delegate与undelegate实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!