2013-09-20 5 views
3
<ul class="nav nav-tabs tabb"> 
     <li id="li_permission_info_<?=$this->id_permission?>" class="active" > 
      <a data-toggle="tab" href="#tab_permission_info_<?=$this->id_permission?>"><i class="icon-user"></i>Permission Information <?=$this->id_permission?></a> 
     </li> 
     <li id="li_permission_details"> 
      <a data-toggle="tab" href="#tab_permission_details_<?=$this->id_permission?>" data-value="<?=$this->id_permission?>"><i class="icon-home"></i>Permission Details</a> 
     </li> 
</ul> 

$("body").on("click", "#li_permission_details", function(event){ 

    console.log("test"); 

}); 

У меня проблема, как скрипт JQuery не активирован второй тим е нажмите <li> тегаJquery .он («щелчок») не работает во второй раз

+2

Вы, кажется, разместили скрипт, а не сгенерированный HTML («источник просмотра»). –

+2

Работает отлично. Там может быть проблема с остальной частью вашего кода. – Harry

+2

Вы уверены, что не добавляете этот « id_permission?>» В id_permission_detail? –

ответ

0

Вы можете использовать делегат.

$(document).delegate('click', '#li_permission_details', function() { 
console.log('test'); } 
+0

Зачем делегировать 'body'? OP хочет нажать 'li' и уже использует' on'. – Harry

0

У меня нет проблем с вашим скриптом. Я сделал для него jsFiddle, и он отлично работает. Вставьте скрипт jq внутри события DOMReady.

$("body").on("click", "#li_permission_details", function(event){ 
    alert("test"); 
}); 
+0

Я могу щелкнуть по нему в первый раз, но во второй раз он не будет вызывать console.log –

+0

Пожалуйста, попробуйте jsFiddle, который я написал ранее. – Karan

0

Работает нормально. Чтобы настроить лучше, а не ссылаться на тег тела, добавьте div-id в начало ссылки, как показано ниже, и попробуйте.

<div id="rajesh">Here your content</div> 

$(#rajesh).on("click", "#li_permission_details", function(event){ 
    alert("Rajesh"); 
} 

Запуск примера here

+0

Последние две строки кода не отображались как код из-за ошибки форматирования. Я отформатировал его сейчас. – Harry

3

Я попробовал этот код, и это работает отлично. Попробуйте это:

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    </head> 
    <body> 
     <ul class="nav nav-tabs tabb"> 
     <li id="li_permission_info_<?=$this->id_permission?>" class="active" > 
      <a data-toggle="tab" href="#tab_permission_info_<?=$this->id_permission?>"><i class="icon-user"></i>Permission Information <?=$this->id_permission?></a> 
     </li> 
     <li id="li_permission_details"> 
      <a data-toggle="tab" href="#tab_permission_details_<?=$this->id_permission?>" data-value="<?=$this->id_permission?>"><i class="icon-home"></i>Permission Details</a> 
     </li> 
     </ul> 

     <script> 
      $("body").on("click", "#li_permission_details", function() { 
       alert('Hi'); 
      }); 
     </script> 
    </body> 
</html> 
1

Я думаю, что где-то в коде вы отсоединение события ... я столкнулся с таким же вопросом, где-то в коде, я использовал $(document).off("click"), которые удалены все события щелчка присоединенных к документу.

Смежные вопросы