“指针事件:无”在IE9和IE10中不起作用
CSS-属性pointer-events: none;
在Firefox中可以正常工作,但在Internet Explorer 9-10中却不能。
有没有办法在IE中实现此属性的相同行为?有任何想法吗?
回答:
从MDN文档中:
警告:在CSS中将指针事件用于非SVG元素是实验性的。该功能曾经是CSS3UI草案规范的一部分,但由于存在许多未解决的问题,因此已推迟到CSS4。基本上,pointer-events
在这里阅读更多关于非SVG(可缩放矢量图形)的信息是非标准的。
如果您检查链接页面上的浏览器支持台(约三分之二向下),你会注意到,在非SVG的IE支持 ziltsh , 杰克蹲下 , NAUT,…不支持,那是。
但是,在IE(以及Opera和AFAIK所有浏览器)中,您可以简单地在元素上强制使用游标类型:
a, a:hover, a:visited, a:active, a:focus /*, * <-- add all tags?*/{
cursor: default;/*plain arrow*/
text-decoration: none;/*No underline or something*/
color: #07C;/*Default link colour*/
}
结果应该与 pointer-events: none;
更新:
正如shasi指出的那样,如果要防止IE中的单击事件在其他浏览器中被阻止,只需添加一个委派click事件的事件侦听器即可。
目前,我假设您将所有a
元素作为目标:
var handler = function(e){
e = e || window.event;
var target = e.target || e.srcElement;
if (target.tagName.toLowerCase() === 'a')
{
if (!e.preventDefault)
{//IE quirks
e.returnValue = false;
e.cancelBubble = true;
}
e.preventDefault();
e.stopPropagation();
}
};
if (window.addEventListener)
window.addEventListener('click', handler, false);
else
window.attachEvent('onclick', handler);
那应该防止锚元素上的所有单击事件。
以上是 “指针事件:无”在IE9和IE10中不起作用 的全部内容, 来源链接: utcz.com/qa/425964.html