0

这个问题已经过时了

较新版本的 Chrome 中不存在此问题

我正在开发一个拖动选择的 jQuery 插件,它正在工作。问题在于,在触摸屏上,它只是滚动页面。

Chrome 没有实现touchstart和其他触摸事件,所以我假设mousedown会被触发。这是一个简化的示例:

全屏演示[代码]

一个咖啡脚本片段:

$(document).on 'mousemove', (e) ->
  $('.follow').css
    left: e.pageX
    top: e.pageY

我怎样才能让它响应在 Windows 8 上的 Chrome 中触摸屏幕?

4

2 回答 2

0

不确定您从哪里获得信息,并且您的 CodePen 示例无法检查问题可能是什么,但 Chrome 不仅实现了touchstart,等touchmovetouchend而且我发现它具有我用过的所有浏览器中最好的触控支持去年。

唯一要确保的是,如果您有两台显示器,您可以在触摸屏上启动浏览器页面。

我正在使用带有触摸屏的 Windows 8.1 进行 JQuery 插件开发(以确保所有平板电脑都启用)。

测试是否存在触摸:

var hasTouch = (typeof TouchEvent !== "undefined");
alert(hasTouch);

这是直接来自我的一个插件的一些工作 TypeScript 代码(在 Chrome 上效果最好。IE 是触摸问题的孩子):

THIS.$element.on("touchstart", function (e)
{
    THIS.momentum.touchstart(e.originalEvent.touches[0].pageY);
});
THIS.$element.on("touchmove", function (e)
{
    THIS.momentum.touchMoveTo(e.originalEvent.touches[0].pageY);
});
THIS.$element.on("touchend", function (e)
{
    THIS.momentum.touchEnd();
});
于 2014-03-10T08:56:17.820 回答
0

这似乎已在最新版本的 chrome 中修复。它是一个常青浏览器,这意味着几乎每个用户都在使用当前或以前版本的 chrome。

于 2014-03-12T11:36:48.047 回答