单击鼠标悬停

时间:2014-02-23 10:35:00

标签: c# javascript

我有一个简单的javascript鼠标悬停事件来触发asp菜单上的c#click事件,它工作正常,但是当我进入menuitem时,click事件被无限次激活。我希望它只发射一次。

<script type="text/javascript">
$(".div1").mouseover(function () {
    $(this).click();
})
.mouseleave(function () {
    $("#Menu1").remove();
    $("#Menu2").remove();
    $("#Menu3").remove();
});
</script> 

3 个答案:

答案 0 :(得分:2)

您可以通过两种方式实现这一目标:

第一种方式:

$(".div1").mouseover(function () {
    $(this)
        .click()
        .off('mouseover'); // Unbind the mouseover once we triggered the click
})

第二种方式 - 使用“.one”绑定只触发事件处理一次

$(".div1").one('mouseover', function () {
    $(this).click();
})

答案 1 :(得分:0)

你可以试试这个:

var done = false;
$('.div1').mouseover(function()
{
    if(!done)
    {
        $(this).click();
        done = true;
    }
});

答案 2 :(得分:0)

使用unbind jQuery的功能:

var fireClick = function () {
    $(this).click();
    $(this).unbind('mouseover');
};

$(".div1").mouseover(fireClick)
.mouseleave(function () {
    $("#Menu1").remove();
    $("#Menu2").remove();
    $("#Menu3").remove();
    $(this).mouseover(fireClick);
});