hover () и click () не очень хорошо играют вместе - PullRequest
0 голосов
/ 01 февраля 2009

Учитывая следующий код, функция наведения работает правильно, но при нажатии теряет класс 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 ]

2 голосов
/ 01 февраля 2009

это работает именно так, как вы сказали. если вы хотите, чтобы класс прикреплялся, вы можете добавить псевдоним этого имени класса в css.

.clicked_no_event_box, .new_name_to_be_used_in_click_function {
    /* definition */
}
0 голосов
/ 02 февраля 2009

Поскольку функция 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')
    ;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...