div里个span元素,都有onclick事件。点击只响应其中一个应该怎么做?给点思路。

就是在div里的空白处点击,响应div的onclick事件,在span里的内容上点击,响应span的onclick事件。帮帮忙啊,急用。... 就是在div里的空白处点击,响应div的onclick事件,在span里的内容上点击,响应span的onclick事件。帮帮忙啊,急用。 展开
 我来答
yfcp
2014-11-01 · 知道合伙人软件行家
yfcp
知道合伙人软件行家
采纳数:1748 获赞数:5545
有多年网站建设相关工作经验。熟悉ASP、ASP.net、VB、JavaScript、HTML等语言和CSS、Ajax等相关技术。

向TA提问 私信TA
展开全部
我的网站也遇到过这个问题,我是这样处理这个问题的。做了个判断,代码如下:
<script>
var n=0;
function a(){n=1;}//点span,让n=1,触发div点击时判断n是否等于1
function b(){
if (n==1){alert("你点击了span");}else{alert("你点击了div")}
n=0;
}
</script>
<div style="width:300px;height:200px;border:1px solid #cccccc;" onclick="b();">
<span style="float:left;margin:20px;padding:20px;;background:#cccccc;" onclick="a();">1111111</span>

</div>
dh626995617
推荐于2017-11-29
知道答主
回答量:3
采纳率:100%
帮助的人:3392
展开全部

假如我要点击span但不要把事件往上传到button,

在子控件逻辑处理加个event.stopPropagation();用于阻止冒泡

<button type="button" class="btn btn-xs btn-warning" onclick="tag_search()">
<span class="glyphicon glyphicon-tags" aria-hidden="true"></span>Python
<span class="label label-danger" onclick="delete_tag()">X</span>
</button>
function tag_search(){
console.log("tag_search");
}

function delete_tag(){
console.log("delete_tag");
//阻止冒泡上层click
event.stopPropagation();
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenyuzhiyuan
推荐于2017-11-26 · TA获得超过183个赞
知道答主
回答量:40
采纳率:0%
帮助的人:50.9万
展开全部

div 是span的父级 所以会有冒泡事件  

var divObj = document.....// 获取div对象
div.onclick = function(){
    if (this.tagName == 'span') {
        //  执行span的方法
    } else if (this.tagName == 'div') {
        //执行div的事件
    }
}

大致思路如此
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式