[英]$(“.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.