操纵和触摸事件没有触发,但鼠标事件呢?

时间:2010-05-08 16:23:22

标签: wpf windows-7 multi-touch

我有一台三星LD220Z多点触控显示器,当我正在尝试一些WPF和触控功能时,触控事件并未触发。然而,鼠标按下事件似乎正在开始。

这是否意味着我必须考虑到并非所有触摸屏的行为都相同,我如何在屏幕上获得触摸输入?我试过微软发布的Windows 7 Touch包。多点触控功能似乎在那里工作。

有关如何处理此事的任何建议吗?

1 个答案:

答案 0 :(得分:2)

活动触摸开始工作,但不是。你可以使用onmouseup =“SOMEfun()” 甚至三星Galaxy 3也是触发事件的问题。 添加第一个事件,thay将继续工作但是 两种情况: 1)首先添加onmouseup而不是tauchstart或更好 2)检查移动设备或桌面,然后添加适当的事件 你可以使用我的detectbrowser函数,它非常好(给出一个浏览器类型的名称,如mobile_chrome_android_tablet或firefox_desktop,safari_ipad)

让NOMOBILE全局化,你可以简单地替换var NOMOBILE = 0; with window [“NOMOBILE”] = 0;

下载浏览器和设备检测器: detect browser and device also class

班级名称为DETECTBROWSER()

(在剧本的第一行)

var BROWSER =新的DETECTBROWSER()

检查此BROWSER.NAME

这甚至是疯狂的剧本。同时跟踪10个手指(在canvas2d中) 链接:https://github.com/zlatnaspirala/multi-touch-canvas-handler

示例1)

      document.getElementById('myCanvas').addEventListener('touchstart', function(event) {
         event.preventDefault(); 
        var touch = event.touches[0]; 
        /* Avatar go left */
          if (touch.pageX < 235) {
        if (backgroundX < 0){
         left = 1;
         }
        /* Avatar go right */
         if (touch.pageX > 470) {
         right=1;
         }
        /* Avatar go lower distance */
         if (touch.pageX > 235 && touch.pageX < 470 && touch.pageY >250 ) {
         distance--;
         }
        /* Avatar go to high distance */
         if (touch.pageX > 235 && touch.pageX < 470 && touch.pageY <250 )  {
         distance++; 
        }
         } ,false);
        // solution for touchend
          function ENDoff(){

           if (moveLEFT==1) {  moveLEFT=0;  }
           if (moveRIGHT==1) { moveRIGHT=0;  }
          }

HTML CODE 
<canvas id="myCanvas" width="480" height="960" onmouseup="touch_UP();"></canvas>