【问题标题】:Prevent tap from firing a taphold event防止点击触发点击事件
【发布时间】:2015-04-28 22:52:47
【问题描述】:

在下面的代码中,我定义了一个简单的“taphold”事件,所以用一些文本来召唤一个警报。问题是一个简单的点击也会触发这个事件。关键是用户必须按住点击才能继续(在这种情况下提醒文本)。

是什么导致了这种行为?

$("#button").on("taphold", function() {
  alert("Good day, sir!");
});

如前所述,单击即可触发此事件。我怎样才能防止这种情况发生?

【问题讨论】:

  • 您想要一个不包含 jQuery 的解决方案吗?它只是 JavaScript。关于点击它只持续大约一秒钟然后触发事件的一件事。
  • 我需要一个包含水龙头的解决方案,我不在乎它是 jQuery 还是纯 Javascript ;) 我正在研究一个必须防止人们触摸屏幕的项目(点击)并执行一个功能。所以水龙头会阻止这种情况,除了它现在就像一个水龙头一样。
  • 试试这个jsfiddle.net/re18ssyn

标签: javascript jquery cordova touch


【解决方案1】:

这在 Cordova Android 中适用于我

var pressTimer

$("a").on("mouseup touchstart", function () {
    clearTimeout(pressTimer)
    // Clear timeout
    return false;
}).on("mousedown touchstart", function () {
    // Set timeout
    pressTimer = window.setTimeout(function () {
        alert("hi");
    }, 1000)
    return false;
});

【讨论】:

    猜你喜欢
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2012-12-16
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多