Привязка событий JQuery - PullRequest
0 голосов
/ 02 мая 2011

Я загружаю из БД какой-то html (используя ajax post запрос), это выглядит так:

<div id="slides_control">
   <div>
      <a href="#"></a>
   </div>
</div>

С помощью html я также загружаю JS-код:

<script>
$('#slides_control a').bind('click', function() {
   alert('achtung');
});
</script>

Скрипт идет сразу после html (в полученных данных).

Но когда я нажимаю на какую-то ссылку в новом html, я не вижу предупреждения. Что не так?


Я также пытался связать его после окончания ajax:

$.post('page.php', {}, function(data) {
    document.write(data);
    $('#slides_control a').bind('click', function() {
       alert('achtung');
    });
});

Мне не помогло.

Ответы [ 3 ]

2 голосов
/ 02 мая 2011

Вы, вероятно, запускаете функцию связывания до того, как ваш html был загружен, поэтому он не находит элемент

Итак, поместите ваш код для запуска под нагрузкой:

$(function(){
    $('#slides_control a').bind('click', function() {
       alert('achtung');
   });
}):
0 голосов
/ 02 мая 2011

выполнить этот скрипт при загрузке данных.Вы выполняете этот скрипт перед загрузкой данных.

0 голосов
/ 02 мая 2011

Попробуйте обернуть вызов jQuery:

<script>
$(function(){
   $('#slides_control a').bind('click', function() {
      alert('achtung');
   });
});
</script>
...