Функция делегата не работает в jquery 2.1.1
У меня есть этот код для загрузки контента в comment-list
div
для нумерации страниц с использованием jQuery delegate
:
JS:
<script type="text/javascript">
$('#comment-list .pagination a').delegate('click', function() {
$('#comment-list').fadeOut('slow');
$('#comment-list').load(this.href);
$('#comment-list').fadeIn('slow');
return false;
});
$('#comment-list').load('index.php?route=simple_blog/article/comment&simple_blog_article_id=<?php echo $simple_blog_article_id; ?>');
</script>
HTML:
<div id="comment-list">
<div class="pagination">
<div class="links">
<b>1</b>
<a href="http://localhost/oc/index.php?route=simple_blog/article/comment&simple_blog_article_id=5&page=2">2</a>
<a href="http://localhost/oc/index.php?route=simple_blog/article/comment&simple_blog_article_id=5&page=3">3</a>
<a href="http://localhost/oc/index.php?route=simple_blog/article/comment&simple_blog_article_id=5&page=2">></a>
<a href="http://localhost/oc/index.php?route=simple_blog/article/comment&simple_blog_article_id=5&page=3">>|</a> </div><div class="results">Showing 1 to 5 of 11 (3 Pages)
</div>
</div>
</div>
Но в действии мой код не работает и не загружает контент в div
, после нажатия на ссылку нумерации страниц я вижу открытое новое окно и загружаю свой контент. Я проверяю свой код в jQuery 2.1.1
Версия а я думаю delegate
не работать в jQuery 2.1.1
,
Как исправить мою проблему?
1 ответ
Начиная с jQuery 3.0, .delegate() устарел. Он был заменен методом.on() начиная с jQuery 1.7, поэтому его использование уже не приветствуется.
Однако для более ранних версий это остается наиболее эффективным средством использования делегирования событий. Более подробная информация о привязке событий и делегировании находится в
on()
метод.
Использовать делегирование события on()
вместо:
$('body').on('click', '#comment-list .pagination a', function() {
....
});
Надеюсь это поможет.