2016-06-21 1 views
0

У меня есть две страницы .php. Как показывает несколько кнопок, Информация, что я пуговица с этим кодом:Javascript не растворяется после использования ajax

$(document).on("click", ".glyphicon-info-sign", function(){ 
    $(".glyphicon-info-sign").not(this).popover("hide"); 
    $(this).popover("toggle"); 
}); 

Скрипт помещен после того, как HTML-элементов. Я использую div, который содержит страницу под моим заголовком (home, contact, login и т. Д.), И я использую jquery-ajax для загрузки разных страниц в этот div.

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

(Там есть шанс я ошибаюсь, и проблема в том, что-то еще.)

Как я могу это исправить?

ответ

0

Я зафиксировал мою проблему, изменив событие щелчка слушателя до:

$(".glyphicon-info-sign").click(function(){ 
    $(".glyphicon-info-sign").not(this).popover("hide"); 
    $(this).popover("toggle"); 
}); 

Вот почему: Difference between .on('click') vs .click()

+0

Перед вяжем событие щелчка на документ, который не остается связанной до обновления страницы или вручную удалить привязку. Код, который у вас здесь, привязывается только к элементам «.glyphicon-info-sign», которые в настоящее время присутствуют при запуске этого кода. Поэтому, когда вы загружаете другую страницу в div, они переписываются и больше не существуют. – spaniol6

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