【发布时间】:2015-04-01 17:22:00
【问题描述】:
我有一张图片,上面可能有一些 div(指定该图片中的某些选择)。这些 div 应该是可点击的。类似的东西:
#divOuter { width: 500px; height: 500px; border: 2px solid #0000FF; position: relative; }
#divInner { width: 100px; height: 100px; border: 2px solid #00FF00; position: absolute; cursor: pointer; top: 20px; left: 20px; }
<div id="divOuter">
<img src="SomeImage.jpg" />
<div id="divInner"></div>
</div>
$("#divOuter").click(function() { alert("divOuter"); });
$("#divInner").click(function() { alert("divInner"); });
在 chrome 和 FF 中,它按预期工作(指针出现在 div 上,单击它会提示“divInner”,然后是“divOuter”)。
但是,在 IE8 中却没有——我只有在悬停/单击内部 div 边框时才会得到相同的行为。在该 div 内单击时,只有“divOuter”被提醒。
如何解决这个问题?
【问题讨论】:
-
尝试提供图像宽度/高度信息,您可能需要
#divInner中的跨度和大小。我自己最近也遇到过这个问题。 -
尝试为您的
divs添加背景颜色,看看是否可以让它们可点击,或显示它们的放置位置。 -
听起来您正在尝试重新创建所谓的“图像映射”。 webstartcenter.com/howto/imgmap.php
-
@David - 为内部 div 添加背景颜色确实有效,但我更喜欢避免这种情况。 @GolezTrol - 不完全是,我需要一些更有活力的东西。
标签: javascript html css