我正在使用:
$(".first-image-gallery").first().trigger('click');来创建点击图片库的动作。
这样做的原因是我正在使用页面上其他地方的‘开始画廊’按钮,并希望这个按钮打开画廊的第一个图像,然后用户可以向前和向后移动他们喜欢的。
我正在为画廊使用iLightBox,但找不到任何它内置的东西,无法通过jQuery从另一个按钮或操作中打开画廊。
我目前使用的代码在桌面上的其他地方运行得很好,但移动iPad就不行了。
发布于 2015-01-30 16:55:05
这是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却有所不同。它不会为没有以下两项或其中一项的元素生成单击事件:
-Directly绑定的onclick处理程序。
在-The中设置为指针的CSS游标属性。
因此,您的解决方案似乎是:
.first-image-gallery {
cursor: pointer;
}我(几乎)总是求助于包含cssua javascript库和这一点css,它在全局(页面范围)解决了这个问题,在Mobile Safari中(但不是在其他浏览器中)在整个页面上应用cursor: pointer;:
html.ua-safari.ua-ios {
cursor: pointer;
}发布于 2015-01-30 16:55:20
请尝试使用touchstart:
$(".first-image-gallery").first().trigger('touchstart');并在点击函数中使用它,就像.on('click touchstart',callback);一样
发布于 2016-07-19 16:22:16
我也有同样的问题,我试着将指针设置为指向元素的指针,但不起作用。
很明显,触发器'touchstart‘在jQuery中工作得很好,但问题是我需要以编程方式’点击‘现有的元素(按钮),所以我需要触发'click’。
最后,我发现使用原生javascript代码可以很好地工作,所以您可以尝试:
document.querySelectorAll('.first-image-gallery')[0].click();
至少它对我的情况立即起作用。
https://stackoverflow.com/questions/28232227
复制相似问题