1

当鼠标悬停在图像上并且按住鼠标右键时,我需要缩放图像。就像是:

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

我需要帮助。谢谢。

4

1 回答 1

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 - Demo 两者都有mousedownmouseleave实施。

$('img').mousedown(function(e) {
    if (e.which == 3) {
        $(this).animate({
            width: $(this).width() * 2,
            height: $(this).height() * 2,
        }, 500);
    }
});
于 2012-04-10T20:10:54.073 回答