当前位置: 首页 > 面试题库 >

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

狄新立
2023-03-14
问题内容

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

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



 类似资料:
  • 问题内容: 我正在随处使用,并且可以在Firefox上正常使用。它不再与IE9一起工作,也不再在IE8中工作。我能做什么? 问题答案: 为什么要依赖具有对象的浏览器,而不是只包含Douglas Crockford的脚本文件。您可以在这里找到缩略文件:http : //www.json.org/js.html 导入后,您不必担心浏览器中现有的方法。

  • 问题内容: 在IE10中,此代码无法正常工作: 应该发生的是,该宽度应为31px,并占用内的其余可用空间。由于某种原因,发生的事情只是默认为263px。 在Chrome和Firefox中可以正常运行。 问题答案: IE尚不完全支持Flex布局模式。IE10实现了规范的“补间”版本,该版本不是完全最新的,但仍然可以使用。

  • 问题内容: 我正在编写ajax Web应用程序,但是由于任何原因,当我在Internet Explorer 9(IE9)中对内部数据服务执行GET时,它都无法正常工作。同样的调用在Chrome,Firefox和Safari中也可以正常工作。我正在使用本地主机Web服务器(沼泽)进行开发,并且正在与要尝试的数据服务在同一网络上进行开发。我正在使用Jquery 1.8.1(我返回了几个版本,但仍然看到

  • 问题内容: 我正在使用此页面 -http : //ecmazing.com/cors.html-向此资源发出跨域Ajax请求: http //hacheck.tel.fer.hr/xml.pl 它适用于Chrome,Safari和Firefox,但不适用于IE9和Opera。 代码: (预期结果是XML代码字符串。) 自己看看: http : //ecmazing.com/cors.html 在I

  • 问题内容: 我已经尝试过两种方法。 方式1 方式二 这两种工作方式上的镀铬细,但由于某种原因与IE不发送数据的,或根本。 我已经在本地服务器和实时Web服务器上进行了尝试,两者都得到了相同的结果。 在这里使用IE10。 问题答案: ~~~~ 应该 您将变量的值作为键传递,因此,如果您的服务器端资源期望它实际上看到了该变量的值。 这可能不是IE10问题,这不应该像在任何浏览器中一样起作用。 更新资料

  • 指针事件(Pointer Events)是一种用于处理来自各种输入设备(例如鼠标、触控笔和触摸屏等)的输入信息的现代化解决方案。 一段简史 让我们先做一个简短的概览,以便你对指针事件及其在其它事件类型中所处位置有个粗略认识。 很早以前,只存在鼠标事件。 后来,触屏设备开始普及,尤其是手机和平板电脑。为了使现有的脚本仍能正常工作,它们生成(现在仍生成)鼠标事件。例如,轻触屏幕就会生成 mousedo