我正在使用:
$(".first-image-gallery").first().trigger('click');
创建点击图片库的操作。
原因是我正在使用“开始图库”。按钮在页面的其他位置,并希望此按钮打开图库的第一个图像,然后用户可以随意前进和后退。
我正在使用iLightBox作为图库,无法找到它内置的任何内容,可以通过jQuery从另一个按钮或动作中打开图库。
我使用的当前代码在桌面上的其他地方工作正常,但移动iPad无法正常工作。
答案 0 :(得分:3)
这是Mobile Safari的怪异。单击事件在没有设置cursor: pointer;
CSS属性的任何元素上都无法正常工作。
了解详情:http://www.shdon.com/blog/2013/06/07/why-your-click-events-don-t-work-on-mobile-safari
这适用于每个符合标准的浏览器。然而,Mobile Safari选择不同。它不会为没有任何一个或两个的元素生成点击事件:
- 直接绑定onclick处理程序。
- 将光标属性设置为CSS中的指针。
因此,您的解决方案似乎是:
.first-image-gallery {
cursor: pointer;
}
我(几乎)总是求助于包含cssua javascript库并包含这一点css,它在全局(页面范围)解决了这个问题,在Mobile Safari中的整个页面上应用了cursor: pointer;
(但是不在其他浏览器中):
html.ua-safari.ua-ios {
cursor: pointer;
}
答案 1 :(得分:1)
尝试使用touchstart:
$(".first-image-gallery").first().trigger('touchstart');
并在点击功能中使用此功能,就像.on('click touchstart',callback);
答案 2 :(得分:0)
我有同样的问题,我尝试过设置游标:指向元素的指针,它不起作用。
很明显触发'touchstart'与jQuery的效果非常好,但问题是我需要以编程方式“点击”现有元素(按钮),所以我需要触发'click'。
最后我发现使用原生的javascript代码可以很好地工作,所以你可以尝试:
document.querySelectorAll('.first-image-gallery')[0].click();
至少它适用于我的情况。