jquery touchstart没有处理文档

时间:2014-10-06 10:51:03

标签: jquery ipad touchstart

如果您使用以下语法,则可以使用简单的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上测试

1 个答案:

答案 0 :(得分:1)

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

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

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