Обновление DOM после выполнения функции.
Проблема с системой "показать еще". После первого нажатия кнопка больше не срабатывает.
Код основного файла:
<div id="more-data">
Данные
<a href="javascript:;" id="more" data-limit="{$count}">Еще</a>
</div>
Код JS:
jQuery(document).ready(function($)
{
$('#more').click(function more()
{
var limit = $('#more').attr("data-limit");
$.ajax
(
{
type: "POST",
url: "test_more.php",
data: "limit=" + limit,
success: function (html) {
$('#more-data').empty();
$('#more-data').append(html);
}
}
);
});
});
Текст из test_more:
Данные
<a href="javascript:;" id="more" data-limit="{$count}">Еще</a>
Кнопку я постоянно подгружаю новую с новым счетчиком {$count}. При первом вызове все работает нормально, но потом обработчик не срабатывает. Если код написать на чистом js, то все нормально:
<a href="javascript:;" onclick="more({$count})">Еще</a>
function more(count)
{
// тело функции
}
Есть подозрение, что после Ajax-запроса новая ссылка не входит в DOM. Как это можно исправить? |
Игося,
клик ставят на то что не стирают через on |
рони,
Спасибо, дописал
document.getElementById('more').setAttribute('data-limit', new_limit);
|
Игося,
было $('#more').click(function more() нуно $('#more-data').on('click', '#more', function more() |
рони,
Спасибо еще раз, работает. |
| Часовой пояс GMT +3, время: 23:11. |