jquery怎么在父元素事件中禁止子元素的事件?

<divstyle="height:200px;background-color:green;"id="green"><divstyle="height:100px;ba... <div style="height:200px;background-color:green;" id="green">
<div style="height:100px;background-color:orange;" id="orange">
</div>
</div>

$(function(){

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

其中
event.stopImmediatePropagation();
只能禁止green click2事件,用什么方法还可以禁止它的所有子元素的click事件(orange click)?
展开
 我来答
幻翼高达Zero
2019-07-16 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:8.1万
展开全部

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery,编写问题基础代码。

2、index.html中,将<script>标签中的orange的点击事件中,修改jquery代码为:

$("#green").click();e.stopPropagation();

3、浏览器运行index.html页面,此时点击橘色方块发现成功禁止了其它子元素的点击事件,只弹出了“green click”。

yjiaqing
推荐于2018-02-28
知道答主
回答量:12
采纳率:0%
帮助的人:5万
展开全部
3种方法
1、在父元素事件的function中加if(event.target==this){ }
2、子元素事件function最后加event.stopPropgation();// 阻止事件冒泡
3、简单点,直接在子元素事件function最后加return false;// 阻止事件冒泡和默认操作
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaoapk
推荐于2016-10-01 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1609万
展开全部

因为orange click事件比green click事件先触发,所以后面的事件不能禁止前面的事件触发吧。


所以建议你在orange事件处理函数里判断要不要执行函数体里的语句。


$("#orange").click(function(){
if (/* 你想这样做应该有你的条件吧 */) {
alert("orange click");
}
});
});
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苏州欧进地坪厂
2013-04-19 · TA获得超过478个赞
知道小有建树答主
回答量:854
采纳率:80%
帮助的人:265万
展开全部
$(function(){
$("#green").click(function(event){
alert("green click");
});
$("#orange").click(function(event){
alert("orange click");
return false;
});
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式