【问题标题】:Javascript onclick and ondblclick in same buttonJavascript onclick 和 ondblclick 在同一个按钮中
【发布时间】:2015-06-30 23:06:03
【问题描述】:

有没有人知道按钮的解决方案,只对一个按钮的 2 个点击事件做出反应:

<input type="button" value="Click" ondblclick="alert('double')"; onclick="alert('ones')";>

@在我尝试双击按钮时,它只会提醒'ones'; 为什么不能在同一个按钮中同时使用 ondblclick 和 onclick?

【问题讨论】:

  • 是不是想限制用户双击?
  • 那么在大多数浏览器中不要使用模态警报并触发模糊事件
  • 为什么你想要这样的行为对我来说不好看
  • 如果你双击按钮然后alert('ones')会出现在你的屏幕上。你想做什么?
  • 有可能,但是为什么要在按钮元素上使用双击处理程序呢?它可能对许多其他元素有意义(例如,(非下拉)选择元素中的选项元素,其中一次单击选择,第二次提交或其他东西),但我从来不需要处理双击在一个按钮上。

标签: javascript jquery html click


【解决方案1】:
<input type="button" value="Click" ondblclick="console.log('double');" onclick="console.log('ones')";>

神奇地,它起作用了!

您的问题是您使用的是模态的alert(),因此无法触发您的 ondblclick 事件。

【讨论】:

  • +1,我认为需要解释为什么双击没有触发。
  • 正如赞成票所回答的那样,它实际上可以让您双击,但也会触发两次点击事件。 :)
  • @GaneshPandhere 这是给定的,视为 double = 2
  • @GaneshPandhere 你仍然可以限制点击事件。但我仍然不知道 OP 到底在寻找什么……也许是预期的结果,谁知道呢?!
  • 即使我不确定预期的最终结果是什么。 :)
【解决方案2】:

你给点击超时,所以警报弹出有点慢..

<input type="button" value="Click" ondblclick="alert('double')"; onclick="setTimeout(function(){alert('ones')},3000);";>

【讨论】:

  • 至少不要使用间隔
  • @GaneshPandhere 现在不会了
  • 请减少 setTimeout 的时间限制,它太多了:-) hehehe
猜你喜欢
  • 2013-10-21
  • 2013-10-23
  • 2010-12-05
  • 1970-01-01
  • 2019-02-22
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多