IE10:指针事件:none仍然触发元素



我的应用程序在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:

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

您可以使用简单的jQuery来支持IE、

请参阅下面的片段:

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

最新更新