【问题标题】:Chrome on Windows 8 Mouse Down/Up/Move Touch ScreenWindows 8 上的 Chrome 鼠标向下/向上/移动触摸屏
【发布时间】:2013-08-05 23:20:47
【问题描述】:

这个问题已经过时了

较新版本的 Chrome 不存在该问题

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

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

fullscreen demo [ code ]

一个coffeescript sn-p:

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

如何让这个响应在 Windows 8 上的 Chrome 中触摸屏幕?

【问题讨论】:

  • Chrome 不支持触​​控(或者他们很烂:)
  • @Shawn Kendrot : Chrome 对触控的支持非常好,所以不太清楚为什么对它/他们有这么多的苦涩:)
  • 这还是 2013 年 8 月吗? 7 个月内会发生很多变化!

标签: javascript jquery google-chrome windows-8 touchscreen


【解决方案1】:

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

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

我正在使用带有触摸屏的 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();
});

【讨论】:

  • 在我问的时候,它并不适用于所有设备。注意你的答案和原始问题之间的时间差。 Windows 8.1 还没有推出 :-)
  • @FakeRainBrigand:一年前它也在 Win 8、iPad 和 iPhone 上运行。无论如何,希望你现在把它整理好:)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多