日期:2014-05-16  浏览次数:20353 次

IE不能触发事件
图片里的白色框框,,ie6点击出发不了事件。。在FF是正常的。。。。。
谢谢

HTML code
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无定义 HTML 的 Event 事件</title>
<style type="text/css">
.photo {
    position: relative;
}
.note {
    position: absolute;
    left: 0px;
    top: 0px;
}
#addnote {
    position: absolute;
    left: 75px;
    top: 75px;
}
#contentofnote {
    position: relative;
    border: 3px solid white;
    cursor: move;
    height: 50px;
    width: 50px;
}
</style>
</head>
<body>
<div class="photo"><img src="http://baike.baidu.com/pic/4/11704969655851825.jpg" id="photo" /><div id="addnote"><div id="contentofnote" onmousedown="alert('x');">&nbsp;</div></div></div>
</body>
</html>


------解决方案--------------------
在ie里面像这样修正一下
----------------------
HTML code
<div id="addnote"><div id="contentofnote" onmousedown="alert('x');">

<div style="width:100%;height:100%;background:red;filter:alpha(opacity=0);">&nbsp;</div>

</div></div>

------解决方案--------------------
#contentofnote {
position: relative;
border: 3px solid white;
cursor: move;
height: 50px;
width: 50px;
display:expression('inline');
}
------解决方案--------------------
这个问题其实很简单,并不是IE不支持,只是对于一个层,在没有内容的地方就会被认为是空,既然是空,就是什么也没有
当然层也没有了,所以事件自然不响应了

四楼的答案是正确的,不过,我觉得有点不妥,因为把透明度设为0了,就会连那个DIV在哪都不知道了,如果不是制作人,或有
什么提示,根本不会有人知道点击那个地方会有什么效果

所以我建议把背景色设为黑色或白色
透明度调到一定可见度就行了

比如
<div class="photo"><img src="http://baike.baidu.com/pic/4/11704969655851825.jpg" id="photo" />
 <div id="addnote">
<div onmousedown="alert('x')" style="background:#ffffff;filter:alpha(opacity=50);" id="contentofnote" width=200 height=200>&nbsp;
</div>
 </div>
</div>