js监听鼠标mousemove时如何判断鼠标左键中键右键状态
在JavaScript中,可以通过mousemove
事件的事件对象(event object)的buttons
属性或which
属性来判断鼠标左键、中键、右键的状态。不过,buttons
属性是一个比which
更现代的属性,因此推荐使用buttons
。
以下是一个示例代码,展示了如何在mousemove
事件中判断鼠标左键、中键、右键的状态:
document.addEventListener('mousemove', function(event) {
// 使用event.buttons来判断鼠标左中右键状态
if (event.buttons & 1) {
console.log('鼠标左键按下');
} else if (event.buttons & 2) {
console.log('鼠标中键按下');
} else if (event.buttons & 4) {
console.log('鼠标右键按下');
} else {
console.log('无鼠标按键按下');
}
});
在上述代码中,event.buttons
返回一个数字,每个位表示一个鼠标按键的状态:第0位表示左键,第1位表示中键,第2位表示右键。如果某个位置为1,则表示对应的鼠标按键被按下。通过按位与操作(&
)可以判断是否有对应的鼠标按键被按下。
评论已关闭