沒啥好說的,看代碼吧 !
jQuery 版本 : 1.71
瀏覽器版本:chrome 21
1 <body> 2 3 <ul class="a-list"> 4 <li><a href="javascript:;">test1</a></li> 5 <li><a href="javascript:;">test2</a></li> 6 <li><a href="javascript:;">test3</a></li> 7 <li><a href="javascript:;">test4</a></li> 8 <li><a href="javascript:;">test5</a></li> 9 </ul> 10 11 <ul class="button-list"> 12 <li><button>test1</button></li> 13 <li><button>test2</button></li> 14 <li><button>test3</button></li> 15 <li><button>test4</button></li> 16 <li><button>test5</button></li> 17 </ul> 18 19 </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 });
1 //不能取消 2 $(document).undelegate('a', 'click'); 3 4 //不能取消 5 $(document).undelegate('button', 'click'); 6 7 //可以取消 8 $(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 });
1 //略過部分測試,同上 2 3 //不能取消 4 $(document).undelegate('a', 'mouseover'); 5 6 //可以取消 7 $(document).undelegate('a, button', 'click'); 8 9 //可以取消 10 $(document).undelegate('a, button', 'mouseover'); 11 12 //可以取消 13 $(document).undelegate('a, button', 'mouseover click');
1 //綁定 2 $('.a-list').delegate('a', 'click mouseover', function() 3 { 4 alert($(this).html()); 5 });
1 //略過部分測試,同上 2 3 //不能取消 4 $(document).undelegate('a', 'click'); 5 6 //可以取消 7 $('.a-list').undelegate('a', 'click'); 8 9 //可以取消 10 $('ul').undelegate('a', 'click'); 11 12 //可以取消 13 $('ul').undelegate(); 14 15 //可以取消 16 $('.a-list').undelegate();