是否可以让按钮在iOS上按下长按钮?我已经搜遍了所有,但没有找到任何解决此问题的方法。首先,如果您长按一个按钮,它将尝试选择它(用于复制)。使用一些CSS,我禁用了它,但它仍然没有注册长按按钮。我认为这是因为您可能正在滚动页面,而不是长时间按下它。这样做的目的是我希望按钮在长按时消失。
这是一个可以在PC上运行的JSFiddle,但不在我的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);
}
答案 0 :(得分:4)
您是否尝试过使用touch
个活动?
var timer
MenuToggle.addEventListener('touchstart', function() {
timer = setTimeout(function() {
MenuToggle.style.display = 'none'
}, 1000)
}, false)
MenuToggle.addEventListener('touchend', function() {
clearTimeout(timer)
}, false)
答案 1 :(得分:1)
您需要使用touch
个事件(touchstart和touchend)代替鼠标事件。
这是一个更新的小提琴:http://jsfiddle.net/ynkLmz5n/4/
MenuToggle.addEventListener("touchstart", Vanish);
MenuToggle.addEventListener("touchend", VanishClear);
另外,如果您要添加触摸交互,我建议使用hammer.js。这是一个很棒的触摸库,包括对Press
)