JS - 點擊事件排除父級標簽


點擊事件排除父級標簽,這里使用的是stopPropagation()方法。event.stopPropagation();

對了,這里還用了解除click事件,unbind。

下面這篇博文,介紹挺全的

http://www.cnblogs.com/zhangq723/archive/2011/04/02/2003358.html

把文章拷貝了一下,在這個折疊中。

移除事件

    unbind(type [,data])     //data是要移除的函數

    $('#btn').unbind("click"); //移除click

    $('#btn').unbind(); //移除所有
    對於只需要觸發一次的,隨后就要立即解除綁定的情況,用one()

    $('#btn').one("click",function(){.......});
    模擬操作

    可以用trigger()方法完成模擬操作。

    $('#btn').trigger("click");
    $('#btn').click();

    觸發自定義事件

    $('#btn').bind("myclick",function(){....});

    $('#btn').trigger("myclick");
    傳遞數據

    trigger(type [,data])

    $('#btn').bind("myclick",function(event,message1,message2){...........});

    $('#btn').trigger("myclick",["傳給message1","傳給message2"]);

    執行默認操作
    $("input").trigger("focus");

        //不僅會觸發input元素綁定的focus事件,還會觸發默認操作——得到焦點。

    $("input").triggerHandler("focus");

        //只觸發綁定事件,不執行瀏覽器默認操作

    其他用法

    綁定多個事件類型

    $("div").bind("mouseover mouseout",function(){.....});

    添加事件命名空間

    $("div").bind("click.plugin",function(){......});

    在所綁定的世界類型后面添加命名空間,這樣在刪除事件時只需要指定命名空間即可。

        $("div").unbind(".plugin");   //刪除空間內的事件

    $("div").trigger("click!"); //觸發所以不包含在命名空間中的click方法

    如果包含在命名空間的也要觸發:

        $("div").trigger("click");
綁定相關

 

stopPropagation() 方法介紹:

定義和用法

不再派發事件。

終止事件在傳播過程的捕獲、目標處理或起泡階段進一步傳播。調用該方法后,該節點上處理該事件的處理程序將被調用,事件不再被分派到其他節點。

語法

event.stopPropagation()

說明

該方法將停止事件的傳播,阻止它被分派到其他 Document 節點。在事件傳播的任何階段都可以調用它。注意,雖然該方法不能阻止同一個 Document 節點上的其他事件句柄被調用,但是它可以阻止把事件分派到其他節點。

 1 //一級類別點擊設置
 2     function setFirstClick() {
 3         var fa = $('.first-sort .a');
 4         fa.unbind(); //移除所有
 5         fa.each(function (i) {
 6             $(fa[i]).click(function () {
 7                    alert(1)
 8             });
 9         });
10     }
11     
12     //二級類別點擊設置
13     function setSecondClick() {
14         var fb = $('.first-sort .a.select .second-sort .b');
15         fb.unbind(); //移除所有
16         fb.each(function (i) {
17             $(fb[i]).click(function (event) {
18                alert(2);
19                 event.stopPropagation();
20             });
21         });
22     }
23 
24     //三級類別點擊設置
25     function setThirdClick() {
26         var fc = $('.first-sort .a.select .second-sort .b.select .third-sort .c');
27         fc.unbind(); //移除所有
28         fc.each(function (i) {
29             $(fc[i]).click(function (event) {
30               alert(3);
31                 event.stopPropagation();
32             });
33         });
34     }    
點擊事件排除父級標簽

 


免責聲明!

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



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