-1

我在 IE <=10 中的应用程序遇到问题。

我正在使用这个polyfill 来支持pointer-events: noneIE

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

我做错了什么?

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

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

4

1 回答 1

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>

于 2015-11-06T12:38:45.300 回答