悬停()和点击()不能很好地一起玩

时间:2009-02-01 20:27:17

标签: javascript jquery

鉴于以下代码,悬停功能正常工作,但单击时,将丢失clicked_no_event_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");}
        );

    });

2 个答案:

答案 0 :(得分:2)

它完全像你告诉它的那样工作。如果你想让课程坚持下去,可以在css中为该课程名称添加一个别名。

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

答案 1 :(得分:0)

由于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')
    ;
});