css - div 元素中的图像不处理 CSS 事件伪类

标签 css internet-explorer firefox

我有一个图像,位于一个 div 元素中,当鼠标经过它时,这个 div 元素使用 CSS :hover 伪类改变了它的一些样式属性。这在所有浏览器中都可以正常工作。但是 div 元素还有另一个类 :active,它应该在单击时更改其背景颜色。

这是事情开始破裂的时候。在IE9(我安装的版本)中,当我点击图片时,div的背景颜色没有改变。只有当我点击 div 的其他地方时,它才会起作用,颜色会改变。在 Firefox 中,无论我在 div 元素中的哪个位置单击,背景颜色都会改变,即使我单击图像也是如此。这也是我希望 IE 的行为方式,因此当用户单击 div 时,无论在其中的哪个位置,都会触发 :active 效果。

是否有解决方法或我可以用来使其适用于 IE 的东西?

最佳答案

jsFiddle 上对 CSS 进行了一些尝试之后,我没有找到任何 CSS 方法来解决这个问题:IE 只是不想将 img 视为 div 的一部分。

我建议你用 javascript 解决这个问题。使用 onMouseDown。

伪:

(div or img).onMouseDown(div.addClass:"active")
(div or img).onMouseUp(div.removeClass : "active").

我建议使用 js 框架使其更容易。参见 jquery mouseupmousedown .

关于css - div 元素中的图像不处理 CSS 事件伪类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6411250/

相关文章:

javascript - IE 中的元素符号未附带占位符文本。在 Chrome 中工作正常

html - 对齐 li 内容底部的列表样式类型

google-chrome - 我可以从插件/扩展中禁用 Firefox/Chrome 组件吗?

php - 谷歌地图 JS API V3 : Map won't show in Internet Explorer

javascript - 将 UTF8 文本写入文件

python - 接收属性错误 'FirefoxBinary'对象没有属性 '_get_firefox_output'

javascript - 定义全局变量 x 时让 Firebug 中断

asp.net - 从 scss 生成 css

javascript - 将 png 叠加图像放在文本链接上的鼠标悬停上

javascript - jQuery AJAX 和 IE8 输出 "Invalid argument"