javascript非多点触摸事件

javascript非多点触摸事件,javascript,Javascript,我正在开发一个小型嵌入式应用程序,它使用电阻式触摸屏(ADS7846),不支持多点触摸手势 问题在于,当使用手指(或其他对象)触摸屏幕时,如果mousedown和mouseup事件仅在手指被移除时触发,则mousedown事件仅在手指被释放时才会触发 function $(id) {return document.getElementById(id)}; $("butsetup").addEventListener("mousedown", function(e) { alert('dow

我正在开发一个小型嵌入式应用程序,它使用电阻式触摸屏(ADS7846),不支持多点触摸手势

问题在于,当使用手指(或其他对象)触摸屏幕时,如果mousedown和mouseup事件仅在手指被移除时触发,则mousedown事件仅在手指被释放时才会触发

function $(id) {return document.getElementById(id)};

$("butsetup").addEventListener("mousedown", function(e) {
  alert('down');
});

$("butsetup").addEventListener("mouseup", function(e) {
  alert('up');
});
有没有一个解决方案可以让这一切按预期进行

根据@antyrat的建议,本报告是真实的:

alert( 'ontouchstart' in document.documentElement )

但是我在某个地方读到一些浏览器向dom“公开”了这个功能,但没有启用它?

是的,您可以使用
touchstart
touchend
事件:

$("butsetup").addEventListener( ('ontouchstart' in document.documentElement) ? "touchstart" : "mousedown", function(e) {
  alert('down');
});

$("butsetup").addEventListener( ('ontouchstart' in document.documentElement) ? "touchend" : "mouseout", function(e) {
  alert('up');
});

使用
touchstart
touchend
事件

$("butsetup").addEventListener("touchstart", function(event){  
    alert('touchstart');
}, true);

$("butsetup").addEventListener("touchend", function(event){  
    alert('touchend');
}, true);

谢谢,我已经试过了touchstart和touchend根本不点火!你能试着在控制台“document.documentElement”中运行“ontouchstart”吗?看看它会返回什么?谢谢,不幸的是没有javascript控制台,我在320 x 240屏幕上使用midori!因此,请尝试使用以下命令:
警报('ontouchstart'在document.documentElement中)
是的,报告为真!谢谢,但是touchstart和touchend事件不会触发。我认为元素或jquery有问题。touchstart是否返回任何对象或为空?这些活动经过测试,效果良好!对不起,我没有使用jquery,$()是document.getElementById()的别名oouf:)这种情况会发生!