用Windows 8的指针和手势:window.navigator.mspointereenabled什么都什么都没检测



我在Windows 8上使用指针和手势事件有问题。

问题是我无法通过JavaScript在网站上检测到任何手指/手势运动。我确实遵循了Microsoft的指示:http://msdn.microsoft.com/en-us/library/ie/hh673557(v = vs.85).aspx。

但是,即使是最简单的功能window.navigator.msPointerEnabled也返回nullfalse时,它应该返回true(因为我正在使用触摸端的Windows 8平板电脑)。

以前有人有相同的问题吗?如果是这样,您是如何解决此问题的?

The following example is a basic paint application that works with mouse, touch, and pen via pointer events.
<style>
  html { 
    -ms-touch-action: none; /* Shunt all pointer events to JavaScript code. */
  }
</style>
<canvas id="drawSurface" width="500px" height="500px" style="border:1px solid black;"></canvas>
<script type='text/javascript'>
window.addEventListener('load', function() {
  var canvas = document.getElementById("drawSurface"),
  context = canvas.getContext("2d");
  if (window.navigator.msPointerEnabled) {
    canvas.addEventListener("MSPointerMove", paint, false);
  } 
  else {
    canvas.addEventListener("mousemove", paint, false);
  }
  function paint(event) {
    context.fillRect(event.clientX, event.clientY, 5, 5);
  }
});
</script>

有关更多详细信息查看此链接

除了通常的内容(正确的Doctype和Meta标签)外,您还必须设置-ms-touch-action:none;在CSS中的HTML和或身体元素上:

html, body {
 -ms-touch-action: none;
}

编辑:( MSGENTURECHANGE提供了完整的HTML样本)

相关内容

  • 没有找到相关文章

最新更新