簡體   English   中英

HammerJS(v2)滑動和平移禁用在iOS中觸發的鏈接

[英]HammerJS (v2) swipe and pan are disabling links being fired in iOS

我有一個帶有HammerJS的網頁。 我還使用了Hammerjs網站上的angular指令。

我在元素上滑動和平移。 但是這樣做只能阻止我單擊iOS中的鏈接或表單元素。

奇怪的是,在鏈接上會發生CSS懸停效果,但不會觸發href。 同樣在表單元素上,我無法選擇文本框來查看光標和鍵盤閃爍。

有誰遇到過類似的問題,或者是否有能力解決可能導致此問題的設置?

以下代碼可識別刷卡並觸發該功能,但禁用鏈接觸發。

<div data-hm-swipeup="doSwipeUp($event)" data-hm-swipedown="doSwipeDown($event)">
    <a href="/contact-us">Contact</a>
</div>

在錘子設置中,您需要:

prevent_default: false

...這將允許您通過容器傳遞點擊。

更新

看起來新版本處理此問題有所不同。

嘗試幾件事...

參考: http : domEvents: false可能設置為true ...

讓Hammer也觸發DOM事件。 這有點慢,因此默認情況下禁用。 如果要使用事件委托,建議將其設置為true

preset: [....]也許刪除水龍頭...

調用Hammer()時的默認識別器設置。 創建新的Manager時,這些將被跳過。

默認情況下,它會添加一組點擊,雙擊,按下,水平平移和滑動以及多點觸控捏合和旋轉識別器。 默認情況下,收縮和旋轉識別器是禁用的,因為它們會使元素阻塞。

更新2

看來這可能是處理這些DOM事件的一種方法...

$(element).hammer({domEvents:true}).on("tap", '.tap-object', function(event) {

...並有效取代錨點的本機處理。

或者,您可以刪除Hammer對輕擊事件的識別,該識別應允許錨點正常運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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