Javascript 使用触摸屏在Windows 8上检测Chrome中的触摸事件

Javascript 使用触摸屏在Windows 8上检测Chrome中的触摸事件,javascript,google-chrome,windows-8,jquery,Javascript,Google Chrome,Windows 8,Jquery,我构建了一个触摸/鼠标友好的jQuery插件。它适用于手机(ios、android…)和台式机浏览器。但我对安装在带有触摸屏的笔记本电脑上的Windows8Chrome有一些问题。不幸的是,我没有这样的设备,不能做任何测试。而且IE10工作正常 让我解释一下我的内部代码(非常简单的代码): 1.检查触摸装置: base.isTouch = ("ontouchstart" in document.documentElement); 2.参加适当的活动 if(base.isTouch === tr

我构建了一个触摸/鼠标友好的jQuery插件。它适用于手机(ios、android…)和台式机浏览器。但我对安装在带有触摸屏的笔记本电脑上的Windows8Chrome有一些问题。不幸的是,我没有这样的设备,不能做任何测试。而且IE10工作正常

让我解释一下我的内部代码(非常简单的代码):

1.检查触摸装置:

base.isTouch = ("ontouchstart" in document.documentElement);
2.参加适当的活动

if(base.isTouch === true){
    //use touch events:
    "touchstart.owl",
    "touchmove.owl",
    "touchend.owl"
} else {
    //usemouse events
    "mousedown.owl",
    "mousemove.owl",
    "mouseup.owl"
}
3.检查触摸事件:

if(base.isTouch === true){
    x = event.touches[0].pageX
    y = event.touches[0].pageY
} else {
    x = event.pageX
    y = event.pageY
}

我认为chrome的问题在于检测我的触摸事件,而使用鼠标事件,并将它们转换为触摸

我可以同时添加鼠标和触摸事件:

$('elem').on('mousedown.owl touchstart.owl',func);
这是可以的,但是event.touchs[0].pageX有问题

谢谢

问题已解决


要使鼠标和触摸事件在带有触摸屏的windows 8 chrome上协同工作,我必须:

1.在一个元素“touchstart.owl mousedown.owl”上添加两个事件

2.勾选“事件接触”:


最简单的解决方案是包括触摸冲压插件

我是为我的项目做的,效果很好-你可以测试它,这是我的项目:

要在带有触摸屏的windows 8 chrome上让鼠标和触摸事件协同工作,我必须:

1.在一个元素“touchstart.owl mousedown.owl”上添加两个事件

2.勾选“事件接触”:


很抱歉,如果你在你的项目中使用JQuery库,很明显。谢谢你的回答!但我不想使用任何其他插件。我的插件基于jQuery库。欢迎使用。JQuery团队程序员创建的插件已经在各种设备、浏览器及其版本上进行了测试,我不推荐使用U来创建自己的自行车。此外,如果您不想链接其他脚本文件,您可以下载压缩版本并将其包含在一个文件中。Touch Punch适用于移动设备。我在装有触摸屏的笔记本电脑上使用Windows8的Chrome时遇到问题。触摸穿孔可以由上帝开发-我不在乎-我问了关于我的插件的问题。顺便说一句,你的网站在Chrome中拖动鼠标有问题。谢谢
if(event.touches){
    x = event.touches[0].pageX
    y = event.touches[0].pageY
} else {
    x = event.pageX
    y = event.pageY
}
if(event.touches){
    x = event.touches[0].pageX
    y = event.touches[0].pageY
} else {
    x = event.pageX
    y = event.pageY
}