簡體   English   中英

$(“。element”)。first()。trigger('click')-無法使用iPad

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM