關於 jQuery delegate , undelegate


沒啥好說的,看代碼吧 !

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();

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM