【问题标题】:IE10: pointer-events: none still trigger the elementIE10:指针事件:没有仍然触发元素
【发布时间】:2015-11-06 12:31:03
【问题描述】:

我的应用在 IE 中遇到问题

我正在使用这个polyfill 来支持 IE 中的pointer-events: none

但我仍然可以点击我的元素,在其他浏览器中我不能。

我做错了什么?

HTML

<!DOCTYPE html>
<html>

  <head>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body>
    <h1>Hello Plunker!</h1>

    <div class="pointed" data-pointer-events-none>ClickME!</div>
  </body>

</html>

JS:

 $(window).load(function(){
  $('.pointed').click(function(){
    alert('clicked');
  });
  PointerEventsPolyfill.initialize({});
});

plunker:

为什么我还没有禁用指针?

【问题讨论】:

    标签: javascript jquery css internet-explorer pointer-events


    【解决方案1】:

    您可以使用简单的jQuery来支持IE,而不是使用polifyll,

    参见下面的 sn-p:

    $(document).on('mousedown', '.pointed', function(e) {
      $(this).hide();
      var PointerElement = document.elementFromPoint(e.clientX, e.clientY);
      $(this).show();
      $(PointerElement).mousedown(); //Manually fire the event for desired underlying element
      return false;
    });
    .pointed {
      pointer-events: none
      /*for every non-IE browser*/
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <div class="pointed">ClickME!</div>

    【讨论】:

    • @brabertaser1992 多么琐碎的评论。他的代码运行正常且正确 - 尝试自己添加警报。
    • @brabertaser1992 嘿,别开始骂人是白痴,我没有给你投反对票。友善点。此外0,如果您在 SO sn-p 中使用警报,它们会因为沙盒模式而被阻止。
    猜你喜欢
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2019-07-14
    • 2021-03-31
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多