IE10:pointer-events:none仍触发该元素

时间:2015-11-06 12:31:04

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

我在IE浏览器中遇到了麻烦< = 10。

我正在使用此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

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

1 个答案:

答案 0 :(得分:3)

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

请参阅以下代码段:

$(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>