Предположим, у меня есть код 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. Есть идеи, как я могу это исправить?