我试图重现jquery点击不在ipad上工作的常见问题。它一直对我有用。继承人jsfiddle:http://jsfiddle.net/EbE2M/11/ 因此要求提供一些代码,这里是来自上面的小提琴:
$('.test').on('click', function(e){
//some stuff to test here
});
我是否遗漏了任何内容,或仅仅为某些ipad工作,并不适用于其他人?我需要什么版本的safari和ipad来重现这个问题?
更新: 要找到点击不在iPad上工作的示例,只需谷歌“iPad点击事件无法正常工作”。 以下是two examples。 如果事情对我有用,我为什么这么问?因为事情可能对我的客户不起作用,“在我的机器上工作”是不可靠的。我想获得类似iPad或Safari的版本,点击不能正常工作。最好使用jsfiddle示例。这样我就可以从朋友/商店购买这款iPad并进行检查。如果它可以重现这种问题,我只需购买它并在开发过程中用它进行测试。
答案 0 :(得分:2)
在jQuery中分配了一个click处理程序的任何非anchor元素都必须具有onClick属性(可以像下面一样为空):
onClick=""
OR
元素css需要具有以下声明:
cursor:pointer
答案 1 :(得分:1)
点击(与任何其他事件)事件必须直接绑定到iOS-s元素才能正确注册。这意味着委派事件处理程序将不在某些iOS设备上运行。
在我看来,这就是你正在寻找的东西。
您无法确保,
$(document).on("click", "someSelector", function(e) { doSomething(); });
可以正常使用,但您可以使用(例如)您的代码段:
$('.test').on('click', function(e){ doSomething(); });
因为这样,直接在元素本身上注册。