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