2013-11-19 2 views
-1

У меня есть страница с пустым div и когда пользователь нажимает кнопку, выполняется функция jQuery и загружается некоторый контент. Проблема в том, что я не могу получить доступ к элементам внутри div.Не удается получить доступ к DOM html, загруженному jQuery

Например, если ссылка загружена, если у меня есть функция, которая выполняется при нажатии ссылки, она не имеет никакого эффекта, поскольку ссылка загружается.

EDIT: пример кода загрузки содержимого.

$('#all').click(function(e){ 
    e.preventDefault(); 
    all = true; 
    $.ajax({ 
     type: 'POST', 
     url: './?ajax=cars', 
     data : {all : true}, 
     success: function(data){ 
      $('#ajaxTable').html(data); 
     } 
    }); 
}); 
+2

Как мы можем узнать, не видим ли кода? –

+1

Вам нужно будет использовать прямые привязки для новых ссылок для подписки на событие click. –

+3

Пожалуйста, не используйте в прямом эфире, она больше не существует в JQuery использование $ ("parentSelector") на ("щелчок", "фактический элемент", функция() {// код здесь идет }). –

ответ

3

Заменить:

$('#all').click(function(e){ /* code here */ }); 

С:

$(document).on('click', '#all', function(e){ /* code here */ }); 

Элемент #all создается после того, как событие щелчка присваивается, поэтому он не будет применяться к новому #All элементу. Используя $ (document) .on() любое #all, содержащееся внутри документа, независимо от времени загрузки, будет наблюдать событие.

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