我有一台三星LD220Z多点触控显示器,当我正在尝试一些WPF和触控功能时,触控事件并未触发。然而,鼠标按下事件似乎正在开始。
这是否意味着我必须考虑到并非所有触摸屏的行为都相同,我如何在屏幕上获得触摸输入?我试过微软发布的Windows 7 Touch包。多点触控功能似乎在那里工作。
有关如何处理此事的任何建议吗?
答案 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>