欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jQuery中delegate与undelegate实例详解

程序员文章站 2022-06-03 12:45:23
...
没啥好说的,看代码吧 !

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实例详解的详细内容,更多请关注其它相关文章!