показать / скрыть при наведении, тогда как остаться показанным при нажатии? - PullRequest
0 голосов
/ 19 января 2012

Если у меня есть скрипт jquery, который показывает и скрывает элемент при наведении, как мне сделать так, чтобы мой элемент, который должен скрывать, отображался, если я нажму на него?item, потому что этот элемент, на который я нажимаю, является тегом <li>.Я считаю, что именно поэтому оно должно быть list-item, а не block?Кроме того, когда я просто делаю alert($(element).css('display')); в функции щелчка, он показывает элемент списка.

Ответы [ 4 ]

1 голос
/ 19 января 2012

Попробуйте этот код на div:

$(".comment_div").hover( 
     function() { $(this).children(".comment_actions").show(); }, 
     function() { $(this).children(".comment_actions").hide(); } 
 ).click(
     function(){ $(this).children(".comment_actions").show(); }
 ); 
1 голос
/ 19 января 2012

Внутри вашего обработчика кликов вы можете отменить привязку при наведении курсора после отображения элемента:

$(element).click(function(){
    $(this).css({'display':'list-item'});
    $(selector).unbind('mouseenter mouseleave')
});
0 голосов
/ 19 января 2012

Я бы добавил класс, указывающий, был ли элемент нажат или нет.

$(element).click(function () {
    $(this).toggleClass('clicked');
});
0 голосов
/ 19 января 2012

объявляет еще один обработчик события щелчка и переключает элемент.

$(selector).click(function(){
     $(element).toggle();
});
...