【问题标题】:jquery touchstart not working on documentjquery touchstart 无法处理文档
【发布时间】:2016-01-21 04:29:04
【问题描述】:

如果您使用以下语法,则可以使用简单的 touchstart 事件: http://jsfiddle.net/rwdu4hb9/

$(function(){
    $('.test').on('touchstart', function(){
        alert("Clicked");
    });
});

但是,如果您想使用 $(document).on(..) 为所有即将到来的元素添加您的事件,如下所示: http://jsfiddle.net/rwdu4hb9/1/

$(function(){
    $(document).on('touchstart', '.test', function(){
        alert("Clicked");
    });
});

该事件不会被触发。 这个电话有什么问题?

在装有 iOS 8.0.2 的 iPad 上测试

【问题讨论】:

  • 代码没有问题,你在哪里测试?
  • 装有 iOS 8.0.2 的 iPad 3

标签: jquery ipad touchstart


【解决方案1】:

出于好奇,您是否有任何理由避免使用click 事件而不是touchstart?通常,移动浏览器会将click 作为“触摸”事件处理。过去,我在不同设备上的触摸和点击方面遇到过麻烦(通过modernizr解决)

至少,我会绑定两个事件(clicktouchstart),它们可以同时处理移动和桌面(更新了你的小提琴 - http://jsfiddle.net/srdkgL7o/

$(function(){
    $(document).on('touchstart click', '.test', function(e){
         e.stopPropagation(); //stops 'ghost clicks' (double clicking)
        alert("Clicked");
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 2020-02-26
    相关资源
    最近更新 更多