Иногда в моих сценариях jQuery они не работают, пока я не вложу события. Например...
$(selector).click(function(){
//do something such as create an element
$(selector).click(function(){
//do something with the created element
});
});
Это нормально? Я всегда старался избегать этого, так как это не кажется правильным способом ведения дел. Однако иногда это просто не работает, поэтому я должен.
2 ответа
Единственный случай, когда вы должны использовать вложение, — это переназначение поведения щелчка после первоначального щелчка. Я не уверен, что вы ищете цепочку, например
$('el')
.click(function(){})
.hover(function(){})
Это полностью зависит от того, что вы делаете.
Если вы хотите применить какие-либо события к элементу, вы должны сделать это после того, как элементы были созданы.
Оператор jQuery, который естественным образом устанавливает событие для элементов, может устанавливать его только для элементов, существующих в данный момент. Любой элемент, который вы создаете после оператора, не будет волшебным образом получать события, которые вы установили для элементов до этого.
Итак, если вы создаете элемент в событии и хотите назначить ему событие, вы должны сделать это также в событии.
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.
live()
и делегирование событий для определенных событий.