#javascript #jquery #ajax #twitter-bootstrap
#javascript #jquery ( jquery ) #аякс #twitter-bootstrap
Вопрос:
У меня есть скрипт, который должен ждать запуска загруженного dom, но, похоже, он не ждет. Я думаю, проблема может заключаться в том, что я использую вкладки начальной загрузки, а содержимое на самом деле еще не находится в dom.
Однако это работает, если я вставляю jQuery в консоль. Есть ли способ исправить это с помощью jQuery или мне нужна мощная библиотека ajax?
html / bootstrap
/*@include('blocks.rotators.user-comments') loads in this*/
<div class="tab-pane fade" id="activityDetails">
<div class="comments-holder holder"></div>
<!-- item container -->
<ul id="comments-container" class="default-container quad-scroller">
<li>item</li>
</ul>
</div>
JS
/* when document is ready */
$(function () {
/*
* initiate the plugin without buttons and numeration
* setting midRange to 15 to prevent the breaks "..."
*/
$("div.comments-holder").jPages({
containerID: "comments-container",
first: false,
previous: "←",
next: "→",
last: false,
midRange: 15,
perPage: 4,
links: "blank"
});
});
Комментарии:
1. Как HTML, который вы опубликовали, добавлен в DOM? Вы уверены, что DOM ready — это то, что вам нужно? Вы упоминаете, что вам нужен ajax … в вашем вопросе действительно недостаточно информации, чтобы дать жизнеспособный ответ.
2. когда я добавляю (), я получаю неперехваченный синтаксический ошибка: неожиданный токен). Я также пробовал ();
3. это избавило от этой ошибки, но все еще не работает }); }());
4. @David он добавляется через вкладки начальной загрузки..
5.
tab-pane
Добавляется ли она динамически или она уже есть при загрузке документа?
Ответ №1:
Вероятно, вам следует использовать событие начальной загрузки, которое запускается, когда вкладка отображается и видна.
$('a[data-toggle="tab"]').on('shown.bs.tab', function(event) {
// Put your code
});
Селектор — это кнопка, по которой нажимается доступ к вашей вкладке. Это событие гарантирует вам, что вкладка загружена и видна.
Если вы не беспокоитесь о том, что она видна, и хотите получить к ней доступ раньше, вы можете вместо этого использовать событие начальной show.bs.tab
загрузки, которое запускается, как только вы нажимаете на вкладку.