2012-10-25 3 views
0

У меня есть этот скрипт here, который отлично работает, но мне нужно заставить его работать с щелчком мыши, а не с помощью мыши.Используйте мышь «on click» вместо события «mouse over», jquery

Я пробовал, но не смог. Это выглядит просто, но я не могу понять. Может ли кто-нибудь помочь?

код:

$(".cat").hover(function(){ 
    $(this).parent().parent().find(".sub_menu").hide(); 
}, 
function() { 
    $(this).parent().parent().find(".sub_menu").show(); 
});` 

ниже код работает в IE, но не в Firefox.

$(".cat").on('click', function(){ 
    $(this).parent().parent().find(".sub_menu").toggle(); 
}); 
+0

Не могли бы вы добавить код, который не работает на вопрос? (Нажмите кнопку «Изменить» только под тегами.) Это означает, что этот вопрос по-прежнему будет полезен в будущем. – lonesomeday

ответ

0

Попробуйте

$(".cat").on('click', function(e){ 
    e.preventDefault(); 
    $(this).parent().parent().find(".sub_menu").toggle(); 
}); 

Вы можете заменить .parent() с помощью .closest() если HTML структура известна ..

ИЛИ

$(".cat").on('click', function(e){ 
     e.preventDefault(); 
     $(this).closest('.menu').find(".sub_menu").toggle(); 
}); 

WORKING DEMO

+0

Решение Adeneo не работает в firefox (работает в ie), поэтому я поеду с Sushanth's .closest(). Благодаря! – pano

0
$(".cat").on('click', function(){ 
    $(this).parent().parent().find(".sub_menu").toggle(); 
});