簡體   English   中英

在iOS(Javascript)上長按按鈕

[英]Long button press on iOS (Javascript)

是否可以使按鈕能夠在iOS上長按按鈕? 我到處搜索,沒有找到解決此問題的任何方法。 首先,如果您長按一個按鈕,它將嘗試選擇它(用於復制)。 使用某些CSS,我禁用了此功能,但仍然無法注冊長按按鈕。 我認為這是因為您可能會滾動頁面,而不是首先長按它。 這樣做的目的是,我希望長按時該按鈕消失。

這是一個JSFiddle,可在PC上使用,但不能在我的iPhone上使用(有一個div被注釋掉了,因為長按是在div還是按鈕上都沒有關系,我可以使用div創建一個人造按鈕) : http//jsfiddle.net/ynkLmz5n/3/

提前致謝。

var MenuToggle = document.getElementsByClassName("hide")[0];
MenuToggle.style["-webkit-user-select"] = "none";
MenuToggle.addEventListener("mousedown", Vanish);
MenuToggle.addEventListener("mouseup", VanishClear);
var timer;
function Vanish() {
    longpress = false;
    timer = setTimeout(function() {
        MenuToggle.style.display = "none";
    }, 1000);
}
function VanishClear() {
    clearTimeout(timer);
}

您是否嘗試過使用touch事件?

var timer

MenuToggle.addEventListener('touchstart', function() {
  timer = setTimeout(function() {
    MenuToggle.style.display = 'none'
  }, 1000)
}, false)

MenuToggle.addEventListener('touchend', function() {
  clearTimeout(timer)
}, false)

您需要使用touch事件(touchstart和touchend)代替鼠標事件。

這是更新的小提琴: http : //jsfiddle.net/ynkLmz5n/4/

MenuToggle.addEventListener("touchstart", Vanish);
MenuToggle.addEventListener("touchend", VanishClear);

另外,如果您要添加觸摸交互,我建議使用Hammer.js。 這是一個很棒的觸控庫,其中包括對Press支持)

項目頁面: http//hammerjs.github.io/

新聞活動文檔: http : //hammerjs.github.io/recognizer-press/

暫無
暫無

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

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