
div里面有一张图片,如何能做到点击图片就调用A函数,点击DIV就调用B函数呢?
<html><head><title>无标题文档</title></head><body><divid="aa"onclick="b()"><imgid="tp"src=...
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<div id="aa" onclick="b()">
<img id="tp" src="1.jpg"/ onclick="a()">
</div>
</body>
</html>
现在这样,如果点击图片,就两个函数都会调用,点击DIV不点中图片就只调用b函数
如何能做到点击图片就只调用A函数,点击DIV就调用B函数呢? 展开
<head>
<title>无标题文档</title>
</head>
<body>
<div id="aa" onclick="b()">
<img id="tp" src="1.jpg"/ onclick="a()">
</div>
</body>
</html>
现在这样,如果点击图片,就两个函数都会调用,点击DIV不点中图片就只调用b函数
如何能做到点击图片就只调用A函数,点击DIV就调用B函数呢? 展开
展开全部
要在“点击图片”事件的处理函数中,调用stopPropagation()方法,阻止事件传播,楼主试一下下面的代码:
<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body>
<div id="aa" onclick="b()" style="width:800px; height:500px; background:#f00;">
<img id="tp" src="1.jpg"/ onclick="a(event)">
</div>
</body>
<script type="text/javascript">
function a(e){ alert("img"); e.stopPropagation();}
function b(){ alert("div"); }
</script>
</html>
<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body>
<div id="aa" onclick="b()" style="width:800px; height:500px; background:#f00;">
<img id="tp" src="1.jpg"/ onclick="a(event)">
</div>
</body>
<script type="text/javascript">
function a(e){ alert("img"); e.stopPropagation();}
function b(){ alert("div"); }
</script>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个,你img包含在div里,必须是ab都调用了。
<div id="aa" onclick="b()"></div>
<img id="tp" src="1.jpg"/ onclick="a()">
这样的是分别调用的。
不知道你是不是类似图片的四周部分调用b,如果是的话,你可以分开写,然后把img 相对定位到div上。
<div id="aa" onclick="b()"></div>
<img id="tp" src="1.jpg"/ onclick="a()">
这样的是分别调用的。
不知道你是不是类似图片的四周部分调用b,如果是的话,你可以分开写,然后把img 相对定位到div上。
更多追问追答
追问
我的img 是必须要在这个div里面的,没有其他方法可以将两个分开?
追答
你把场景和具体要实现的功能讲清楚,看有没有解决办法。为什么img必须在div里呢,如果把img浮动到div里在效果上是一样能实现的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图片包含在了div 里面
点了图片就等于点了div 所以会两个都运行。
提供两个办法供参考
1.将图片的position设置成绝对并放在div的外面 模拟视觉效果
2.将aa内放入一个新的div(不要包含图片),同理设置图片将图片的position设置成绝对
然后将b函数放在新的这个div里
其实两个方法意思差不多
希望能帮到你
点了图片就等于点了div 所以会两个都运行。
提供两个办法供参考
1.将图片的position设置成绝对并放在div的外面 模拟视觉效果
2.将aa内放入一个新的div(不要包含图片),同理设置图片将图片的position设置成绝对
然后将b函数放在新的这个div里
其实两个方法意思差不多
希望能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要把图片包含在div里,这样点击图片时,a(),b()都调用,但是如果这样写: <div id="aa" onclick="b()" border=1 width="100%">,点击div标签空白处,就只调b(),但是点击图片还是都调用,如果不想这样,你就需要把img和div分开写,不能让div包含img
追问
我现在的情况就是这样啊,点击div标签空白处,就只调b(),有没有办法在a()里面阻止b()的发生?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询