【问题标题】:Trigger an event when you hold your finger on a div or button当您将手指放在 div 或按钮上时触发事件
【发布时间】:2019-02-26 20:16:18
【问题描述】:

想象一个像这样的div

<div class="list">
    <ul>
        <li class="user">Nickname 1</li>
        <li class="user">Nickname 2</li>
    </ul>
</div>

当我保持“昵称 1”超过 3 秒时,我想在所有智能手机上执行 div 全屏打开一个大的垂直菜单,然后当按钮被释放时菜单不应该关闭

我应该使用onclick 还是onpress

你有什么想法吗?

这种菜单在智能手机上随处可见,例如“阻止”用户或“删除对话”等。

谢谢。

【问题讨论】:

  • stackoverflow.com/a/4080508/965834 应该会有所帮助。可能需要用 touchstart / touchend 替换 mouse* 事件。
  • 几个月来,我只使用了鼠标和 clearTimeout,而 clearInterval 确实效果更好。谢谢。

标签: android jquery ios smartphone


【解决方案1】:

我从来没有做过那个功能。所以我不知道是否已经有一个库可以满足您的需求。

如果没有,那么您可以轻松地手动实现:

您需要注意 mousedown 事件和 mouseup 事件,并且还需要一个计时器。

当 mousedown 事件以 3 秒启动计时器并在回调时执行您想要的操作(例如,打开菜单)。如果触发了 mouseup 事件,请停止定时器,这样回调就不会被执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 2013-06-09
    相关资源
    最近更新 更多