色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

js阻止事件追加的具體實(shí)現(xiàn)

有些時(shí)候可以使用 e.stopPropagation(); e.preventDefault();來(lái)阻止事件冒泡,和默認(rèn)事件的執(zhí)行。但不能阻止事件的追加。

什么情況下要阻止事件的追加呢?

比如:

點(diǎn)擊“結(jié)賬”,這樣的操作時(shí),結(jié)賬本身有自己的事件,但結(jié)賬前要判斷是否登錄。

我們可能會(huì)這樣寫(xiě):

Js代碼
復(fù)制代碼 代碼如下:
if(isLogin){ //判斷是否登錄
console.log("沒(méi)有登錄")
}else{
//結(jié)賬相關(guān)代碼
}

如果點(diǎn)擊“我的主頁(yè)”也有登錄判斷
登錄判斷代碼

if(isLogin){ //判斷是否登錄
console.log("沒(méi)有登錄")
}else{
//個(gè)人中心
}

如果還有更多的登錄判斷。是不是就會(huì)有更多像上面的代碼呢?后來(lái)我發(fā)現(xiàn)stopImmediatePropagation()這個(gè)方法, 阻止事件追加。上面的問(wèn)題就不是問(wèn)題了。

重要:.確保登錄判斷事件是第一個(gè)綁定的事件。

Demo代碼
復(fù)制代碼 代碼如下:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>demo</title>
<script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>

<a href="#" class="bill isLogin">結(jié)賬 </a>


<ul>
<li class="a1 isLogin">加入收藏夾</li>
<li class="a2 isLogin">他人支付</li>
<li class="a3">加入購(gòu)入車(chē)</li>
<li class="a4 isLogin">我的主頁(yè)</li>
</ul>

<script>
//最先綁定
$(".isLogin").on("click", function (e) {

if(true){ //登錄判斷
alert("沒(méi)有登錄");
e.stopImmediatePropagation();
}

return false;
});

$(".bill").on("click",function(){
alert("結(jié)賬相關(guān)內(nèi)容!");
});

$(".a1").on("click",function(){
alert("a1");
});

$(".a2").on("click",function(){
alert("a2");
});

$(".a3").on("click",function(){
alert("已加入購(gòu)物車(chē)");
});

$(".a4").on("click",function(){
alert("有登錄判斷");
});


</script>
</body>
</html>

其實(shí),jquery給我們提供了查看事件的方法$._data($('.isLogin').get(0)),打開(kāi)firebug,在控制臺(tái)輸入。
Js代碼

$._data($('.isLogin').get(0))

會(huì)看到如下:

Js代碼

Object { events={...}, handle=function()}

點(diǎn)擊可以看到事件數(shù)組,方便查看元素上綁定了什么樣的事件。

JavaScript技術(shù)js阻止事件追加的具體實(shí)現(xiàn),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 武胜县| 陆丰市| 迁西县| 怀安县| 彭水| 青岛市| 合水县| 象山县| 绥滨县| 江西省| 固安县| 孟州市| 离岛区| 荆州市| 临泽县| 鄂托克旗| 区。| 花莲市| 闻喜县| 大安市| 顺平县| 佳木斯市| 翁源县| 邛崃市| 郧西县| 江城| 洱源县| 安新县| 高陵县| 桐乡市| 北宁市| 合山市| 永宁县| 亳州市| 蓝田县| 马关县| 永登县| 凤庆县| 专栏| 青浦区| 神木县|