我有一台三星 LD220Z 多点触控显示器,当我尝试使用一些 WPF 和触控功能时,触控事件不会触发。然而,鼠标按下事件似乎正在触发。
这是否意味着我必须考虑到并非所有触摸屏的行为都相同,以及如何在我的屏幕上获得触摸输入?我试过微软发布的Windows 7 Touch pack。多点触控功能似乎在那里工作。
关于如何进行此操作的任何建议?
我有一台三星 LD220Z 多点触控显示器,当我尝试使用一些 WPF 和触控功能时,触控事件不会触发。然而,鼠标按下事件似乎正在触发。
这是否意味着我必须考虑到并非所有触摸屏的行为都相同,以及如何在我的屏幕上获得触摸输入?我试过微软发布的Windows 7 Touch pack。多点触控功能似乎在那里工作。
关于如何进行此操作的任何建议?
事件 touchstart 有效,但 touchend 无效。可以使用 onmouseup="SOMEfun()" 连三星 Galaxy 3 都是触发事件的问题。添加第一个事件,他们将继续工作,但有两个场景:1)首先添加 onmouseup,而不是 tauchstart 或更好 2)检查移动或桌面,然后添加适当的事件您可以使用我的检测浏览器功能,它非常好(给出一个名称浏览器类型,例如 mobile_chrome_android_tablet 或 firefox_desktop , safari_ipad)
使 NOMOBILE 全局化,你可以简单地替换 var NOMOBILE =0; 与窗口[“NOMOBILE”]=0;
下载浏览器和设备检测器: 还检测浏览器和设备类
类名是 DETECTBOWSER()
(在脚本的第一行)
var BROWSER = 新的检测浏览器()
检查此 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>