![]() |
1
161
关于Pax的解决方案:如果用户有意或无意地单击多个按钮,则该解决方案不起作用。不要问我是怎么知道的。 正确的代码应如下所示:
通过这样的测试:
如果您想知道按下了什么按钮,请准备将鼠标向下移动一组计数器,并分别计算各个按钮的数量:
记住:IE使用一个名为“事件”的全局事件对象。 顺便说一句,IE有一个在您的情况下很有用的特性:当其他浏览器只为鼠标按钮事件(onclick、onmousedown和onmouseup)发送“button”时,IE也会随onmousemove一起发送。因此,您可以在需要了解按钮状态时开始监听onmousemove,并在获得evt.button后立即检查它-现在您知道按下了哪些鼠标按钮:
相关链接: 更新#1 :我不知道为什么我要继续使用document.body-style代码。最好将事件处理程序直接附加到文档。 |
![]() |
2
51
MouseEvent (现在)指示当前按下的按钮:
|
![]() |
3
19
我认为最好的方法是保存您自己的鼠标按钮状态记录,如下所示:
然后,在代码的后面:
|
![]() |
4
14
唯一好的解决方案是使用IE.event对象。 |
![]() |
5
8
我知道这是一篇老文章,但我觉得用鼠标上下移动鼠标按钮有点笨重,所以我找到了一个可能吸引一些人的替代方法。
:active选择器比mouse up/down更好地处理鼠标点击,您只需要在onmousemove事件中读取该状态。为此,我需要作弊,并依赖于默认光标是“auto”,而我只是将其更改为“default”,这是auto默认选择的。
我本想在:active部分设置自己的用户定义样式,但我无法实现。如果可能的话会更好。 |
![]() |
6
4
我建议对跨浏览器事件附件使用一些方法—显式设置mousedown和mouseup属性是为了简化示例。
|
![]() |
7
3
如果您使用现有的鼠标事件处理程序在一个复杂的页面中工作,我建议您在
(而不是泡沫)。为此,只需设置
此外,您可能需要检查
窗外 仍有记录。 |
![]() |
8
2
您可以将@Pax和my answers组合在一起,以获得鼠标已按下的持续时间:
随后:
|
![]() |
9
2
|
![]() |
10
2
短而甜我不知道为什么之前的答案对我都不起作用,但我在一瞬间想出了这个解决方案。它不仅有效,而且非常优雅: 添加到正文标记:
|
![]() |
11
2
使用jQuery,下面的解决方案甚至可以处理“拖出页面然后发布案例”。
我不知道它如何处理多个鼠标按钮。 |
![]() |
12
2
如果其他人遇到这种情况,您可以使用
|
![]() |
13
1
使用 MouseEvent
Return :
|
![]() |
14
0
在jQuery示例下面,当鼠标位于$('.element')上方时,颜色会根据按下的鼠标按钮而变化。
|
![]() |
15
0
|
![]() |
16
-1
|
![]() |
17
-3
嗯,你不能在活动结束后检查它是否下降,但你可以检查它是否上升。。。如果有空。。这意味着不再是下降:P lol 因此,用户按下按钮(onMouseDown事件)。。。然后,您检查是否已启动(onMouseUp)。虽然还没有结束,你可以做你需要的。 |