鼠标移动时如何检查鼠标左键是否按下?

时间:2014-12-10 13:50:17

标签: javascript jquery mouseevent

我有以下情况。

function mousemove(e){
if(left button clicked){
//drag the element
}
else{
//show the tooltip
}
}

最初我已经绑定了mousemove功能。鼠标移动我需要检查 是否单击了左键。如果点击意味着我需要拖动它。否则意味着我需要显示工具提示。

我搜索了很多。我无法获得所有浏览器的解决方案, 我需要为IE8,IE9,IE10,IE11,Chrome,Firefox和Safari进行此操作。 请帮我... 提前谢谢..

1 个答案:

答案 0 :(得分:1)

事件本身不会告诉您按钮是否被按住,因此您必须使用mousedownmouseup自行跟踪,如下所示:

var clickHeld = false;
$('#myElement').on({
    'mousemove': function() {
        if (clickHeld) {
            // a click & drag is happening, do what you require
        }
    },
    'mousedown': function() { clickHeld = true; },
    'mouseup': function() { clickHeld = false; }
});