【问题标题】:is it possible fire an event on button press and hold in css?是否可以在按钮按下并按住css时触发事件?
【发布时间】:2014-04-17 16:57:47
【问题描述】:

我正在做一个项目,我希望只要触摸并按住菜单,它就会出现在屏幕上。所以我想知道,就像 CSS 中的按钮单击和悬停属性一样,有没有办法实现单击并保持属性,如果没有,那么如何使用 javascript 或 jquery 来完成。

谢谢

【问题讨论】:

  • 捕获 mousedown 事件并启动超时。如果您在完成之前没有获得 mouseup,则显示菜单。如果您在完成之前确实获得了 mouseup,则清除超时。一旦您的代码有错误,请告诉我们,我们可以帮助您:)
  • 这不是:active 的用途吗?
  • @Paulie_D,我也在想同样的事情,但如果您尝试设置活动元素以外的元素的样式,:active 将无法在 IE 中工作。
  • @Archer 是正确的,我想我一定要试一试,但就使用 :active 而言,它不支持 hold 属性,我认为只能在javascript
  • @DerekS :active 仅用于单击事件,我认为不用于保留.. 或者我错了。 :)

标签: javascript jquery css html


【解决方案1】:

您可以使用 jQuery,mousedownmouseupmouseleave 的组合来完成此操作

Fiddle

<button class="testHold">click and hold me</button>
<div class="tracker"></div>


$('.testHold').mousedown(function() {
    $('.tracker').html("holding holding holding");
}).bind('mouseup mouseleave', function() {
    $('.tracker').text('free as a bird...');
});

【讨论】:

    【解决方案2】:

    没有真正的本地方式来实现这一点。您可以使用 jquery 的可拖动插件查看此解决方案以获得良好的解决方法。

    Trigger Click-and-Hold Event

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 2013-10-11
      • 2011-02-06
      • 1970-01-01
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 2018-06-11
      相关资源
      最近更新 更多