您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

“指针事件:无”在IE9和IE10中不起作用

“指针事件:无”在IE9和IE10中不起作用

从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);

那应该防止锚元素上的所有单击事件。

其他 2022/1/1 18:21:09 有495人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶