Javascript 悬停()和单击()不能很好地配合

Javascript 悬停()和单击()不能很好地配合,javascript,jquery,Javascript,Jquery,给定以下代码,悬停函数可以正常工作,但单击时,会丢失clicked\u no\u event\u box类。不知道我哪里出了问题 /* On document.ready.. */ $(function(){ $(".no_event_box").hover( function(){$(this).addClass("clicked_no_event_box");}, function(){$(this).removeClass

给定以下代码,悬停函数可以正常工作,但单击时,会丢失
clicked\u no\u event\u box
类。不知道我哪里出了问题

/* On document.ready.. */ $(function(){

        $(".no_event_box").hover(
            function(){$(this).addClass("clicked_no_event_box");}, 
            function(){$(this).removeClass("clicked_no_event_box");}    
        );      

        $(".no_event_box").click(
            function () {$(this).addClass("clicked_no_event_box");}
        );

    });

它完全按照你说的那样工作。如果您想让类保持不变,可以在css中为该类名添加别名

.clicked_no_event_box, .new_name_to_be_used_in_click_function {
    /* definition */
}

由于
hover
函数会删除该类,因此即使单击,也可以在单击hover函数后解除其绑定

$('.no_event_box').hover(
    function() {
        $(this).addClass('clicked_no_event_box');
    }, function() {
        $(this).removeClass('clicked_no_event_box');
    }
).click(function() {
    $(this)
        .addClass('clicked_no_event_box')
        .unbind('hover')
    ;
});

大概,当您将鼠标悬停在元素之外时,它正在丢失“clicked\u no\u event\u box”类?单击它之后,我应该添加