jQuery не работает в загружаемых AJAX DIVs

В HEAD моего документа загружаю jQuery.js, а также плагин blockUI jQuery.

В PHP я затем использую обычный AJAX для загрузки другого содержимого PHP в DIV. В исходном модуле PHP jQuery и blockUI работает нормально, но в любом из загруженных ajax divs jQuery и blockUI оба абсолютно ничего не делают. Нет ошибок в консоли, никаких предупреждений – ничего.

Я начинающий jQuery, и ни одна из других статей, которые я нашел по этому вопросу, не смогла поставить меня на край решения, поэтому я помогаю кому-то другому. В моем коде ниже вы увидите, что я сделал некоторые удары в live () …

Это находится в верхней части моего PHP-файла, загружаемого в DIV

<script type="text/javascript"> $(document).ready(function() { $('#crazy').live('click',function() { $.blockUI({ message: $('#question'), css: { width: '275px' } }); }); $('#yes').live('click',function() { // update the block message $.blockUI({ message: "<h1>Remote call in progress...</h1>" }); $.ajax({ url: 'wait.php', cache: false, complete: function() { // unblock when remote call returns $.unblockUI(); } }); }); $('#no').live('click',function() { $.unblockUI(); return false; }); }); </script> 

Вот HTML из этого файла PHP (загруженного в DIV):

 <input id="crazy" type="submit" value="Show Dialog" /> <div id="question" style="display:none; cursor: default"> <h1>Would you like to contine?.</h1> <input type="button" id="yes" value="Yes" /> <input type="button" id="no" value="No" /> </div> 

Функция загрузки документа загружается при загрузке DOM до завершения вызовов AJAX. Таким образом, он применяет только .live() к элементам, которые существуют до вызовов AJAX.

Если вы хотите применить вещи к содержимому, загруженному вызовами AJAX, укажите функцию обратного вызова для AJAX, которая применяет надлежащие материалы после завершения загрузки.

В чем проблема, которую вы получаете с live версией? Он все еще терпит неудачу?

Возможно ли, что запрос AJAX в #yes события #yes ?

Я взял ваш код и упростил его на jsfiddle здесь , и, похоже, он работает нормально. Нет проблемы с использованием live и он должен исправить этот обработчик событий для элементов, вставленных через AJAX.

Вы пытались просто бросать предупреждения в методах событий, чтобы узнать, вызваны ли они вообще?