国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery阻止同類型事件小結

2019-11-20 22:48:03
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

<!DOCTYPE HTML>
<html>
<head>
<title>test</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<div style="height:300px;background-color:red;" id="red">
<div style="height:200px;background-color:green;" id="green">
</div>
</div>
</body>
</html>

在上面的HTML中,red元素是green元素的父元素。
復制代碼 代碼如下:

$(function(){
$("#green").click(function(event){
alert("green click1");
});
$("#green").click(function(event){
alert("green click2");
});
$("#red").click(function(event){
alert("red click");
});
});

上面的js代碼給red元素和green元素添加了三個click事件。
當點擊子元素green元素時,會依次執行green click1、green click2、red click事件。
事件追加:點擊green元素會依次執行green click1、green click2兩個事件(同一元素的同類型事件)。
事件冒泡:點擊green元素會觸發父元素的red click事件(父級元素的同類型事件)。
1、 在子元素事件函數中阻止事件冒泡
方法1:event.stopPropagation()
復制代碼 代碼如下:

$(function(){
$("#green").click(function(event){
event.stopPropagation();
alert("green click");
});
$("#red").click(function(event){
alert("red click");
});
});

方法2:return false
復制代碼 代碼如下:

$(function(){
$("#green").click(function(event){
alert("green click");
return false;
});
$("#red").click(function(event){
alert("red click");
});
});

通過上面的兩種方法,點擊子元素green區域后,red click事件被阻止不再執行。但不會影響red元素其他區域的點擊。
二者區別:
return false相當于event.preventDefault()+event.stopPropagation()。
2、 在父元素事件函數中阻止事件冒泡
復制代碼 代碼如下:

$(function(){
$("#green").click(function(event){
alert("green click");
});
$("#red").click(function(event){
if(event.target == this)
{
alert("red click");
}
});
});

通過if(event.target== this)判斷點擊的目標元素是不是red元素本身,如果不是red本身而是它的子元素green元素,則不會執行if內的代碼。
3、 阻止事件追加
以上的方法只能阻止事件冒泡(也就是父級元素的同類型事件),但不能阻止事件追加(同一元素的同類型事件)。
復制代碼 代碼如下:

$(function(){
$("#green").click(function(event){
event.stopImmediatePropagation();
alert("green click");
});
$("#green").click(function(){
alert("green click2");
});
});

event.stopImmediatePropagation()不但可以阻止green click2事件,同時也阻止事件冒泡。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象州县| 汝南县| 定结县| 孝义市| 虹口区| 竹北市| 永兴县| 茌平县| 乐山市| 岚皋县| 贵德县| 岳普湖县| 富裕县| 久治县| 贡嘎县| 民和| 宜君县| 湘潭市| 伊吾县| 渝北区| 新乡市| 南宁市| 天津市| 株洲县| 黄龙县| 秦安县| 澄江县| 道真| 什邡市| 盐边县| 绍兴市| 平罗县| 鹤壁市| 甘孜县| 沁源县| 丰县| 根河市| 云林县| 五指山市| 西畴县| 阳谷县|