尝试将其添加到您的 CSS 中:
object{
pointer-events: none;
}
TL;DR:这是因为 IE8 无法解释该对象,而是将图像放在其位置上。 并且您以与实际相反的方式描述了您的错误:-)
我非常确信这种行为与您所描述的完全相反 - 在 IE 8 中,只有光标设置为 ti
pointer
,在我的其他浏览器(FF、Chrome、IE 10...)中,光标为 default
,即箭头。
我的解释是 IE8 无法解释 SVG(IE 无法解释版本 9 之前的 SVG)并将图像显示为链接的一部分 - 并在您的小提琴冗余设置中为其提供适当的光标,
pointer
在CSS中。然而,其他浏览器可以解释该对象并正确显示它 - 并且不要给它你想要的光标,因为元素类型是对象(尝试将 Flash 电影,例如 YouTube 视频,放入 a
元素中看看会发生什么)。
最后一个细节:无需使用
:hover
选择器,光标仅在元素上显示时......是的,在元素上。
编辑: Erik 的评论说得很好(粘贴在这里只是为了更快参考):
您需要将光标规则放入 svg 中才能使其正常工作,因为这就是事件将前往标签的地方。事件不会“冒泡”到父文档。如果您使用引用 svg 的,它也可以工作,如下所示:jsfiddle.net/Mw8JX
a { cursor:pointer }