Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Событие onclick и атрибут href (https://javascript.ru/forum/dom-window/30069-sobytie-onclick-i-atribut-href.html)

АлексТраст 23.07.2012 12:00

Событие onclick и атрибут href
 
Есть у меня ссылка.
<a href="/about" onclick="myclick($this);">Пункт меню</a>

Когда кликаешь по ссылке срабатывает обработчик события onclick, а переход по ссылке не срабатывает. Можно как-нибудь сделать так, чтобы переход сработал? Без window.open()?

Deff 23.07.2012 12:07

Цитата:

Сообщение от АлексТраст
myclick($this)

Выложите код скрипта. И window.open() - открывает ссыль в новом окне - а у Вас ссылка без target , - должна открывать в текущем

Dim@ 23.07.2012 12:12

<a href="http://javascript.ru" onclick="alert(this.href);return true">javascript.ru</a>

АлексТраст 23.07.2012 12:13

$(document).ready(function(){
	$('#horizontal-multilevel-menu>li>a').click(function() {
       if ($(this).parent().find('ul').length)
       {
    	   $('#horizontal-multilevel-menu>li>a').removeClass('root-item-selected');
    	   $(this).addClass('root-item-selected');
    	   $('#horizontal-multilevel-menu > li > ul').slideUp();
    	   $(this).parent().find('ul').slideToggle(200);
    	   var li2 = $('#horizontal-multilevel-menu>li>ul>li');
           var li3 = $('#horizontal-multilevel-menu>li>ul>li>ul>li');
           var ul3 = $('#horizontal-multilevel-menu>li>ul>li>ul');
           ul3.css('display','none');
           li2.each(function(i){
        	   if ($(this).parent().find('ul').length)
        	   {
        		   $(this).addClass('parent2');
        	   }
           });
           li2.hover(function(){
        	   $(this).addClass('children');
        	   $('.children > ul').slideDown(200);
        	   return false;
           },function(){
        	   $('.children > ul').slideUp(200);
        	   $(this).removeClass('children');
           });
           return false;
      }
   });
});


Правда я не вижу особого смысла в скрипте)

АлексТраст 23.07.2012 12:14

Если onclick возвращает true - тогда открывается ссылка, спасибо за инфу.

Dim@ 23.07.2012 12:16

АлексТраст,
сразу скажу
return false
не дает браузеру сделать действие по умолчанию
return true
дает браузеру сделать действие по умолчанию (переход по ссылке)

devote 23.07.2012 12:22

Цитата:

Сообщение от Dim@
return true

не обязательно браузеру отправлять вообще true, он и undefined примет за true

Deff 23.07.2012 12:30

АлексТраст,
Хм - речь шла("о Выложить") об этой функции myclick($this);

В Данном контенте я её не наблюдаю

АлексТраст 23.07.2012 12:44

Ну, я думал задать вопрос по существу моей проблемы, а не по существу моей задачи. Не вижу особого смысла грузить пользователей) По этой причине придумал функцию майклик, разницы особой нет. Как я вижу мне дали ответ довольно быстро и правильно, следовательно я все сделал как надо. Если бы я начал говорить про какое-то меню и клики на него и jquery, не дождался бы ответа.

Deff 23.07.2012 12:50

АлексТраст,
Суть в том , что скорее всего данная функция либо не заканчивается либо возвращает вместо себя return false;


Часовой пояс GMT +3, время: 16:20.