一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

js阻止事件追加的具體實現

有些時候可以使用 e.stopPropagation(); e.preventDefault();來阻止事件冒泡,和默認事件的執行。但不能阻止事件的追加。

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

比如:

點擊“結賬”,這樣的操作時,結賬本身有自己的事件,但結賬前要判斷是否登錄。

我們可能會這樣寫:

Js代碼
復制代碼 代碼如下:
if(isLogin){ //判斷是否登錄
console.log("沒有登錄")
}else{
//結賬相關代碼
}

如果點擊“我的主頁”也有登錄判斷
登錄判斷代碼

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

如果還有更多的登錄判斷。是不是就會有更多像上面的代碼呢?后來我發現stopImmediatePropagation()這個方法, 阻止事件追加。上面的問題就不是問題了。

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

Demo代碼
復制代碼 代碼如下:
<!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">結賬 </a>


<ul>
<li class="a1 isLogin">加入收藏夾</li>
<li class="a2 isLogin">他人支付</li>
<li class="a3">加入購入車</li>
<li class="a4 isLogin">我的主頁</li>
</ul>

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

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

return false;
});

$(".bill").on("click",function(){
alert("結賬相關內容!");
});

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

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

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

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


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

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

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

會看到如下:

Js代碼

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

點擊可以看到事件數組,方便查看元素上綁定了什么樣的事件。

JavaScript技術js阻止事件追加的具體實現,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 婷婷的五月 | 久久国产精品视频一区 | 五月天激情久久综合一区 | 色噜噜狠狠狠综合曰曰曰88av | 国产成人精品亚洲 | 国产麻豆自拍 | 香蕉碰碰人人a久久动漫精品 | 人人九九精 | 精品一区二区三区18 | 亚洲伦乱 | 国产2021成人精品 | 涩涩涩视频在线观看免费 | 色婷婷在线播放 | 久婷婷| 爱搞激情在线 | 中文一区在线 | 粉嫩国产精品14xxxxx | 国产熟睡乱子伦视频观看看 | 国产精品成人自拍 | 91av久久| 欧亚精品一区二区三区 | 91最新在线观看 | 91亚洲视频在线 | 美女扒开屁股让男人桶视频网站 | 亚洲一区二区三区在线 | 草草草视频 | 黄色国产在线观看 | 国产精品亚洲一区二区三区在线观看 | 国产原创91 | 亚洲视频在线一区二区三区 | 手机在线成人精品视频网 | 激情国产视频 | 色xxxxx | 亚洲人人看 | 国产美女视频网站 | 美女胸又大又黄的网站 | 天天做天天爱夜夜爽女人爽宅 | 国产精品麻豆视频 | 91国在线产| 欧美在线视频在线观看 | 综合久久综合久久 |