Предположим, у меня есть некоторый код jQuery, который присоединяет обработчик событий ко всем элементам класса .myclass
.
Например:
$(function(){
$(".myclass").click( function() {
// do something
});
});
И мой HTML может быть следующим:
<a class="myclass" href="#">test1</a>
<a class="myclass" href="#">test2</a>
<a class="myclass" href="#">test3</a>
Это работает без проблем. Однако, подумайте, были ли элементы .myclass
записаны на странице в будущем.
Например:
<a id="anchor1" href="#">create link dynamically</a>
<script type="text/javascript">
$(function(){
$("#anchor1").click( function() {
$("#anchor1").append('<a class="myclass" href="#">test4</a>');
});
});
</script>
В этом случае ссылка test4
создается, когда пользователь нажимает на a#anchor1
.
Ссылка test4
не имеет обработчика click()
, даже если она имеет class="myclass"
.
По сути, я хотел бы написать обработчик click()
один раз, и он будет применяться как к контенту, присутствующему при загрузке страницы, так и к контенту, добавляемому позже через AJAX/DHTML. Любая идея, как я могу это исправить?