[英]$(“.element”).first().trigger('click') - not working iPad
我在用:
$(".first-image-gallery").first().trigger('click');
创建单击图库的操作。
原因是我在页面其他位置使用“开始画廊”按钮,希望该按钮打开画廊的第一张图片,然后用户可以根据需要前后移动。
我正在为画廊使用iLightBox,无法找到它内置的任何内容通过jQuery通过另一个按钮或操作来打开画廊。
我正在使用的当前代码在台式机上的其他地方都可以正常工作,但在移动iPad上无法正常工作。
这是Mobile Safari怪胎。 单击事件在没有cursor: pointer;
任何元素上无法正常工作cursor: pointer;
在它们上设置CSS属性。
了解更多: http : //www.shdon.com/blog/2013/06/07/why-your-click-events-don-t-work-on-mobile-safari
这适用于所有符合标准的浏览器。 但是,移动Safari选择不同。 它不会为没有以下一项或两项的元素生成点击事件:
-直接绑定onclick处理程序。
-cursor属性设置为CSS中的指针。
因此,您的解决方案似乎是:
.first-image-gallery {
cursor: pointer;
}
我(几乎)总是求助于包括cssua javascript库并包含这部分css,从而通过使用cursor: pointer;
来全局(整个页面)解决此问题cursor: pointer;
在Mobile Safari的整个页面上(但在其他浏览器中则没有):
html.ua-safari.ua-ios {
cursor: pointer;
}
尝试使用touchstart:
$(".first-image-gallery").first().trigger('touchstart');
并在.on('click touchstart',callback);
也使用此功能.on('click touchstart',callback);
我有同样的问题,我尝试将cursor:pointer设置为元素,它不起作用。
很明显,触发“ touchstart”与jQuery配合得很好,但问题是我需要以编程方式“单击”现有元素(按钮),因此需要触发“单击”。
最后,我发现使用本机javascript代码非常有效,因此您可以尝试:
document.querySelectorAll('.first-image-gallery')[0].click();
至少对于我的情况,它可以立即生效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.