我必须制作一个具有以下功能的按钮:
如果你点击它,它应该会显示一些线条并在 3 秒后隐藏它们,但如果你在 3 秒结束之前点击按钮,线条也应该隐藏。
我编写了一些在桌面浏览器上完美运行的代码,但在移动浏览器上却不是。Android 设备似乎忽略了我的 clearTimeout,而在 iphone 上它似乎更像是一个“buttonPressed”事件。
我创建了一个jsfiddle,以便您可以看到我写的内容。
var timeout = null;
var buttonCallback = function() {
if( timeout === null ) {
log('show lines');
timeout = setTimeout(buttonCallback, 3000);
}
else {
clearTimeout(timeout);
timeout = null;
log('hide lines');
}
}
var hammerElement = Hammer(document.getElementById('showLines'));
hammerElement.on("touch", function(e) {
e.preventDefault()
buttonCallback();
});
知道如何使这种行为适用于移动浏览器吗?