2012-03-11 3 views
0

Я знаю, как это звучит, но можно ли изменить эффект зависания для щелчка с помощью jquery?Как преобразовать «эффект зависания» в «эффект щелчка» в jQuery?

У меня есть это site, и если вы посмотрите на меню (особенно на e-rowery), вы увидите, что он работает на пылесосе. К сожалению, устройства с сенсорным экраном не используют пылесос, поэтому я хотел бы преобразовать его в меню кликов вместо пылесоса. Любые идеи, как это сделать с jquery?

ответ

0

На самом деле, нет проблем, так как ссылки, которые имеют подменю, никуда не идут (в отличие от них, куда-либо, вы не можете открыть подменю одним щелчком). вы можете легко преобразовать их в клики.

Однако, вы должны заметить, что вам нужна замена для «mouseout». вы можете сделать это, добавив обработчик события в тело. пользователь может щелкнуть любое свободное место вне меню, чтобы закрыть подменю. для этого обработчик в теле должен проверить, был ли элемент щелчком ссылки в меню. если нет, закройте все меню (и если это была ссылка, отличная от меню, перейдите к ней).

вы можете использовать метод jQuery's .on() для добавления обработчиков родительскому элементу для дочернего элемента.


DEMO

click anywhere in the body 
<ul class="menu"> 
    <li> 
     <a href="#">click me, i am inside, i have a submenu</a> 
    </li> 
</ul> 
<a class="outside" href="#">i am outside with no submenu, you can redirect</a> 

$('body').on('click', function() { 
    alert('body clicked, close menus'); 
}); 

$('.menu a').on('click', function() { 
    alert('link clicked, open my submenu'); 
    return false; //prevent further code execution, prevent body's handler 
}); 

$('a.outside').on('click', function() { 
    alert('outside link clicked, go to page'); 
    return false; //prevent further code execution, prevent body's handler 
}); 

+0

вы можете быть более обманчивым, я вроде новичок в JQuery:/ –

+0

обновляется с демо – Joseph

+0

Спасибо, но все-таки что-то не так, потому что я могу нажать но эффект зависания все еще включен, и я не могу добраться до второго ребенка в e-rowery. –