Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > .on() .off() "click" event problem


Автор: persosliv 20.7.2012, 10:40
Добрый день. 
Помогите пожалуйста.
HTML-kod
Код

<nav >
      <ul>            
         <li><a href="#" >AAA</a></li>  
         <li><a href="#" >BBB</a></li> 
          <li><a href="#" >CCC</a></li> 
             <ul>
    <li><a href="#">HHHHH</a></li> 
              </ul>
       </ul>
</nav >


 JQUERY script
Код

$("nav").on("click", "a", function(e)
    { 
        e.preventDefault();

        $("nav").off("click","a"); 

        var pageToLoad = $(this).attr("href");

        $("#haupt").load(pageToLoad); 
        return false;
    }); 


при нажании линк должен открываться в определенном месте , но это срабатывает не каждый раз. Спасибо.

Автор: Aliance 20.7.2012, 15:19
Цитата(persosliv @  20.7.2012,  11:40 Найти цитируемый пост)
но это срабатывает не каждый раз

конечно, это срабатывает только 1 раз. Зачем это строка:
Код

$("nav").off("click","a"); 

Автор: persosliv 20.7.2012, 15:30

без этой строки 1 раз срабатывает при первом клике, при втором - это срабатывает уже 2 раза и т.д. Мне нужно, чтобы при клике лик открывался один раз и количество "кликов" не накапливалось. Я не спорю, м.б. написана чушь, но не могу найти  правильного решения.

Автор: Aliance 20.7.2012, 16:06
Цитата(persosliv @  20.7.2012,  16:30 Найти цитируемый пост)
Мне нужно, чтобы при клике лик открывался один раз и количество "кликов" не накапливалось.

 smile 

Сформулируйте вопрос четко и понятно: что нужно?

Автор: persosliv 20.7.2012, 18:21
Извините за опечатку. При клике на первую из ссылок -скрипт  запускается один раз, на вторую - два раза и т.д.
Нужно, чтобы скрипт запускался только один раз при каждом клике.

Автор: persosliv 21.7.2012, 18:19
Приношу свои извинения. Строчка действительно лишняя. Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)