div里个span元素,都有onclick事件。点击只响应其中一个应该怎么做?给点思路。
就是在div里的空白处点击,响应div的onclick事件,在span里的内容上点击,响应span的onclick事件。帮帮忙啊,急用。...
就是在div里的空白处点击,响应div的onclick事件,在span里的内容上点击,响应span的onclick事件。帮帮忙啊,急用。
展开
3个回答
2014-11-01 · 知道合伙人软件行家
yfcp
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数: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>
展开全部
假如我要点击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();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
div 是span的父级 所以会有冒泡事件
var divObj = document.....// 获取div对象
div.onclick = function(){
if (this.tagName == 'span') {
// 执行span的方法
} else if (this.tagName == 'div') {
//执行div的事件
}
}
大致思路如此
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询