Как на JavaScript обнулить клики по родительским ссылкам в меню

С помощью следующего нехитрого программного кода можно сделать неактивными, т.е. отключить все ссылки, содержащие дочерние элементы в абстрактном многоуровневом выпадающем меню, сделанным с использованием библиотеки JQuery.

JavaScript:

<script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function(){

    $("#navigation li:has(ul.child-navigation)").hover(function () {
        $(this).children("a").click(function () {
            return false;
        });
    });
    
});
</script>

HTML:

<ul id="navigation">
   <li><a href="http://druweb.ru">Нерабочая род. ссылка 1</a>
      <ul class="child-navigation">
         <li><a href="#normal-link-1">Обычная ссылка 1</a></li>
         <li><a href="#normal-link-2">Обычная ссылка 2</a></li>
         <li><a href="#normal-link-3">Обычная ссылка 3</a></li>
      </ul>
   </li>
   <li><a href="#normal-link-4">Обычная ссылка 4</a></li>
   <li><a href="#normal-link-5">Обычная ссылка 5</a></li>
   <li><a href="http://druweb.ru/sitemap.html">Нерабочая род. ссылка 2</a>
      <ul class="child-navigation">
         <li><a href="#normal-link-6">Обычная ссылка 6</a></li>
         <li><a href="#normal-link-7">Обычная ссылка 7</a></li>
      </ul>
   </li>
   <li><a href="#normal-link-8">Обычная ссылка 8</a></li>
</ul>

P.S. Меню должно формироваться в виде ненумерованного списка, т.к. мы с вами используем такой вот JQuery-селектор - $("#navigation li:has(ul.child-navigation)"). Работать он будет и в Опере, и в IE, и в Firefox, ну и разумеется с Хромом.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.