【问题标题】:Check if mouse button is down while hovering?检查鼠标悬停时是否按下鼠标按钮?
【发布时间】:2013-02-26 20:24:40
【问题描述】:

我有一个用户在网站上与之交互的框格。如果他们单击一个框,它会改变颜色。有很多盒子,我希望它不那么乏味,所以最好有这样的功能:如果鼠标按钮按下并且你悬停在盒子上,它会改变状态。有什么想法吗?

【问题讨论】:

标签: javascript


【解决方案1】:

您可以使用传递给悬停回调的事件的buttons 属性来检查触发事件时按下了哪些鼠标按钮。

例如,要检测鼠标输入元素时是否按下了左键,可以使用:

myElement.addEventListener("mouseover", function(e){
    if(e.buttons == 1 || e.buttons == 3){
        //do some stuff
    }
})

这里是这个想法的一个演示:http://jsfiddle.net/Ah6pw/

按住鼠标左键并在不同的列表项之间移动鼠标。

【讨论】:

  • @Jonathan true,但在其他浏览器中使用 .which 而不是 .buttons 可以正常工作。
  • @Jonathan 我没有进行广泛的测试,但这似乎也适用于 Firefox。
  • 适用于大多数现代浏览器。
【解决方案2】:

我发现了一些类似的东西。单击某个空间中的对象,然后很少进行交互。 http://mrdoob.github.com/three.js/examples/canvas_interactive_cubes.html(在代码中寻找灵感)

这些链接也可能对你有用

【讨论】:

    【解决方案3】:

    请参阅onmousedown & onmouseup 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 2016-03-15
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      相关资源
      最近更新 更多