Jquery - 在触发mousedown事件后,悬停事件消失。

时间:2011-08-09 07:41:17

标签: javascript jquery

jquery脚本有问题。页面加载以下脚本。悬停事件正常。但是,如果mousedown事件触发,则悬停事件功能随后消失,我不会进行任何翻转。关于为什么以及如何保持悬停事件每次都开火的任何想法?在IE中查看页面。

// Rollover effect for sign.
$("#sign").hover(function () {
    $("#sign").css('background', 'url(img/default/signinon.png) no-repeat 0 0');
},
function () {
    $("#sign").css('background', 'url(img/default/signin.png) no-repeat 0 0');
});


//Mousedown function... 
$(document).mousedown(function (event) {

    var $target = $(event.target);


    // A click outside of the sign in panel or a click on the sign in button when the body panel is visible, hides the display.

    if ((!$target.is('#sign') && !$target.is('#sign-in-panel') && !$target.parents().is('#sign-in-panel') && !$target.parents().is('#sign')) ||
   ($target.is('#sign') && $("#sign-in-panel").css('visibility') == 'visible')) {
        $("#sign-in-panel").css('visibility', 'hidden');
        $("#sign").css('background', 'url(img/default/signin.png) no-repeat 0 0');

    }
    else {
        // Show the panel
        $("#sign-in-panel").css('visibility', 'visible');

    }
});

1 个答案:

答案 0 :(得分:1)

只是建议尝试从css而不是jquery

更改背景
.signinClass
{
background :url(img/default/signin.png) no-repeat 0 0;
}
.signinClass:hover
{
background :url(img/default/signinon.png) no-repeat 0 0;
}

鼠标按下可能会阻止悬停事件触发。