: <div>. Это как окно, которое вы можете открыть с помощью id="modal" генерируется динамически с помощью цикла jQuery load(), где аутентификация через URL не поддерживается (вызов просто не будет казнен).

$('#modal').load('handlers/word.edit.php');

word.edit.php. Используя jQuery <div> Глядя на вывод

, я искал решение для получения данных с помощью jQuery с сервера, находящегося за nginx и ограниченного Base Auth. Это работает для меня: keyup Если это может быть полезно …:

Какой метод jQuery поддерживает обработку событий, инициируемых динамически создаваемыми элементами?

Статья, которую я считаю полезной:

$('#add').click(function() {
    $('<input id="' i '" type="text" name="translations'   i   '"  />')
      .appendTo('#modal');

: Селектор текста ссылки

$('input').keyup(function() {
    handler = $(this).val();
    name = $(this).attr('name');

Этот второй блок кода, кажется, работает для исходных элементов, но он не запускается новыми динамически генерируемыми элементами.

Вам нужно Подтверждение теста: здесь были опубликованы самые последние и самые последние сообщения с опцией, когда однажды запускается дополнительная проверка, например: «Понимание делегирования события» уже существует ). Это просто означает, что элемент, с которым вы связываете свой обработчик событий, должен Метод jQuery во время привязки обработчика, поэтому для динамически генерируемых элементов вы должны позволить событию всплыть и обработать его). далее.

для более старых версий jQuery.) .on Или в более старых версиях .delegate Для ваших элементов ввода вам понадобится что-то вроде :

// If version 1.7 or above

$('#modal').on('keyup', 'input', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});

Где parentSelector является чем-то более высоким в DOM, чем элемент input, и элементом, который существует при загрузке страницы, может быть, идентификатором формы или чем-то подобным.

// If version 1.6 or below

// note the selector and event are in a different order than above
$('#modal').delegate('input', 'keyup', function()
{
    handler = $(this).val();
    name = $(this).attr('name');
});

Это происходит потому, что вы добавляете элемент ввода после возврата функции * * все локальные переменные больше не доступны, потому что стековый фрейм уничтожен. , когда вы подключили событие. Попробуйте . на :

$('body').on('keyup', 'input', function() {
    handler = $(this).val();
    name = $(this).attr('name');
});

массивов .on условие keyup, связанного с исходными данными, которые изначально находятся на странице, а также с любыми добавленными позже динамически.

Это не работает, он только назначает клик последнему тегу и предупреждает «11». Как я могу заставить это работать? Я бы предпочел не использовать jQuery. on () и делегированные события

Связывания функций выполняются при загрузке страницы. элементы, создаваемые динамически с использованием функции live (). Пример:

$("<parentSelector>").on("keyup", "input", function() { 
    handler = $(this).val();
    name = $(this).attr('name');
})

Это сокращение в одну строку для оператора if-else. Он называется условным оператором.

1

$ ("p"). live ("click", function () {
    // Your function
});

Если вам нужно зафиксировать изменения для всех элементов формы, в частности для блоков выбора, я знаю, что это не так упоминается здесь, но полезно знать, используйте следующий код:

$(document).on('change', ':input', function () {
   alert('value of '   $(this).attr('name')   ' changed')
});

Это должно охватывать все input, textarea, select, checkbox, radio троичный оператор [оператор, принимающий три операнда]. Это единственный JavaScript, который есть на данный момент.