如果鼠标右键按下(按下),请在悬停时执行某些操作

时间:2012-04-10 19:53:38

标签: jquery hover mouse

当鼠标悬停在图像上并按住鼠标右键时,我需要缩放图像。类似的东西:

$('img').hover(
     function(){
       if (the-right-mouse-button-is-pressed){
         $(this).animate({
         width:  $(this).width() *2,
         height: $(this).height()*2,
         }, 500);
       }
     },
});

我需要帮助。感谢。

1 个答案:

答案 0 :(得分:2)

修改:对于您的以下评论,

  

感谢。但是,它需要右键单击图片。它不是   如果你将右键保持在屏幕的其他位置,则可以正常工作   然后传递图像

您需要有条件地添加mouseup事件和缩放。请参阅以下代码DEMO

var hasExpanded = false;
$('img').on('mousedown mouseup', function(e) {
    if (e.which == 3) {
            if (!hasExpanded) {
            $(this).animate({
                width: $(this).width() * 2,
                height: $(this).height() * 2,
            }, 500);
        }
        hasExpanded = true;
    }
}).mouseleave(function(e) {
    if (hasExpanded  == true) {
    $(this).animate({
        width: $(this).width() / 2,
        height: $(this).height() / 2,
    }, 500);
    hasExpanded = false;
}
});

通过悬停无法实现您所需要的一切。悬停将在mouseeneter上触发,该呼叫仅被调用一次,并且无法记录稍后发生的mousedown事件。

您需要实现mousedown处理程序。见下文,

DEMO - 演示同时实施了mousedownmouseleave

$('img').mousedown(function(e) {
    if (e.which == 3) {
        $(this).animate({
            width: $(this).width() * 2,
            height: $(this).height() * 2,
        }, 500);
    }
});