Rumah  >  Artikel  >  hujung hadapan web  >  jQuery中delegate与undelegate实例详解

jQuery中delegate与undelegate实例详解

黄舟
黄舟asal
2017-06-26 10:56:221360semak imbas

没啥好说的,看代码吧 !

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(&#39;a&#39;, &#39;click&#39;, function()
3 {
4     alert($(this).html());
5 });
1 //不能取消
2 $(document).undelegate(&#39;a&#39;);
3 
4 //可以取消
5 $(document).undelegate(&#39;a&#39;, &#39;click&#39;);
1 //绑定
2 $(document).delegate(&#39;a, button&#39;, &#39;click&#39;, function()
3 {
4     alert($(this).html());
5 });
//不能取消
$(document).undelegate(&#39;a&#39;, &#39;click&#39;);

//不能取消
$(document).undelegate(&#39;button&#39;, &#39;click&#39;);

//可以取消
$(document).undelegate(&#39;a, button&#39;, &#39;click&#39;);

注意:

1 //不能取消 (与绑定时选择器内容不一致,顺序颠倒)
2 $(document).undelegate(&#39;button, a&#39;, &#39;click&#39;);
3 
4 //不能取消 (与绑定时选择器内容不一致,少了一个空格)
5 $(document).undelegate(&#39;a,button&#39;, &#39;click&#39;);
1 //绑定
2 $(document).delegate(&#39;a, button&#39;, &#39;click mouseover&#39;, function(e)
3 {
4     alert($(this).html());
5 });
//略过部分测试,同上

//不能取消
$(document).undelegate(&#39;a&#39;, &#39;mouseover&#39;);

//可以取消
$(document).undelegate(&#39;a, button&#39;, &#39;click&#39;);

//可以取消
$(document).undelegate(&#39;a, button&#39;, &#39;mouseover&#39;);

//可以取消
$(document).undelegate(&#39;a, button&#39;, &#39;mouseover click&#39;);
1 //绑定
2 $(&#39;.a-list&#39;).delegate(&#39;a&#39;, &#39;click mouseover&#39;, function()
3 {
4     alert($(this).html());
5 });
//略过部分测试,同上
    
//不能取消
$(document).undelegate(&#39;a&#39;, &#39;click&#39;);

//可以取消
$(&#39;.a-list&#39;).undelegate(&#39;a&#39;, &#39;click&#39;);

//可以取消
$(&#39;ul&#39;).undelegate(&#39;a&#39;, &#39;click&#39;);

//可以取消
$(&#39;ul&#39;).undelegate();

//可以取消
$(&#39;.a-list&#39;).undelegate();

 

Atas ialah kandungan terperinci jQuery中delegate与undelegate实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn