首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$(“.element”).first().trigger(‘.element’)-不工作的iPad

问$(“.element”).first().trigger(‘.element’)-不工作的iPad
EN

Stack Overflow用户
提问于 2015-01-30 16:50:34
回答 3查看 5.2K关注 0票数 1

我正在使用:

代码语言:javascript
复制
$(".first-image-gallery").first().trigger('click');

来创建点击图片库的动作。

这样做的原因是我正在使用页面上其他地方的‘开始画廊’按钮,并希望这个按钮打开画廊的第一个图像,然后用户可以向前和向后移动他们喜欢的。

我正在为画廊使用iLightBox,但找不到任何它内置的东西,无法通过jQuery从另一个按钮或操作中打开画廊。

我目前使用的代码在桌面上的其他地方运行得很好,但移动iPad就不行了。

EN

回答 3

Stack Overflow用户

发布于 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游标属性。

因此,您的解决方案似乎是:

代码语言:javascript
复制
.first-image-gallery {
  cursor: pointer;
}

我(几乎)总是求助于包含cssua javascript库和这一点css,它在全局(页面范围)解决了这个问题,在Mobile Safari中(但不是在其他浏览器中)在整个页面上应用cursor: pointer;:

代码语言:javascript
复制
html.ua-safari.ua-ios {
  cursor: pointer;
}
票数 3
EN

Stack Overflow用户

发布于 2015-01-30 16:55:20

请尝试使用touchstart:

代码语言:javascript
复制
$(".first-image-gallery").first().trigger('touchstart');

并在点击函数中使用它,就像.on('click touchstart',callback);一样

票数 1
EN

Stack Overflow用户

发布于 2016-07-19 16:22:16

我也有同样的问题,我试着将指针设置为指向元素的指针,但不起作用。

很明显,触发器'touchstart‘在jQuery中工作得很好,但问题是我需要以编程方式’点击‘现有的元素(按钮),所以我需要触发'click’。

最后,我发现使用原生javascript代码可以很好地工作,所以您可以尝试:

document.querySelectorAll('.first-image-gallery')[0].click();

至少它对我的情况立即起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28232227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档