Удалить / добавить зависание после переключения Jquery - PullRequest
1 голос
/ 30 декабря 2011

У меня есть этот css:

.disable {
          properties
          }

.comment_action:hover {
                       properties
                       }

У меня есть этот jQuery:

//comment button index disable
$("#mydiv").toggle(function() {
 $(this).find(".comment_action").addClass('disable');   
},
function(){
 $(this).find(".comment_action").removeClass('disable');
});

Проблема для меня заключается в том, что когда я нажимаю кнопку .comment_action: hover isне исчезают и не удаляются .Я хочу, чтобы, если я щелкаю по классу .comment_action: hover disapear , и если я снова щелкаю, появляется .comment_action: hover.

Ответы [ 3 ]

1 голос
/ 30 декабря 2011

Вам необходимо добавить !important к свойствам, которые вы хотите переопределить в :hover psuedo-selector ...

Поскольку :hover имеет приоритет, даже если применяется .disabled.

Также ваш javascript должен вызывать find с .comment_action вместо comment_action

См. Рабочий пример: http://jsfiddle.net/TN4rh/11/

0 голосов
/ 30 декабря 2011

Вы говорите своему браузеру добавить эффекты наведения на .comment_action. Это то, что будет происходить со всеми элементами этого класса, независимо от того, имеет ли он какой-либо другой класс, например .disable.

Решение: добавьте свойства: hover к новому .enable классу. Вместо того, чтобы просто удалять и добавлять .disable, также добавляйте и удаляйте .enable.

.disable {
          properties
          }

.enable:hover {
                properties
                }
0 голосов
/ 30 декабря 2011

Лучшим решением было бы переключить класс.То, что вы пытаетесь сделать, можно сделать в одной строке .

$("#mydiv").click(function() {
    $(this).find(".comment_action").toggleClass('disable');       
});

Демо

:)

...