Jquery загрузить внешний файл, который использует плагин - PullRequest
2 голосов
/ 05 октября 2009

У меня есть набор вкладок jqueryui, которые при нажатии загружают их содержимое динамически. Он прекрасно работает, за исключением того, что на одной из страниц используется сам плагин jquery. Это приводит к двум проблемам:

  1. Главная страница, содержащая вкладки, выдает ошибку при загрузке, потому что есть js, который ссылается на элементы, которые еще не загружены (эти элементы находятся во внешнем файле, который содержит код, который использует плагин) .

  2. Если я встраиваю js, запускающий функциональность плагина, во внешний файл, он находится за пределами функции document.ready с главной страницы и поэтому не может использоваться.

В основном я ищу технику, которая позволяет мне ajax загружать внешний HTML-файл в DOM, не убирая при этом саму главную страницу, потому что JS, который уже существует, ожидает HTML, которого еще нет.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 октября 2009

Я еще не использовал его, но я думаю, что это то, что вы ищете

Listen

Этот плагин предоставляет чистое, легкое решение для веб-сайтов с динамически загружаемым контентом или полными привязками событий. Intead of bound, обработчики событий, регистрируются вместе с соответствующими селекторами. И они все еще будут работать для нового добавленного контента. Это достигается с помощью делегирования событий, поэтому плагин будет работать только для событий, которые всплывают

0 голосов
/ 05 октября 2009

Вам необходимо инкапсулировать свой код jquery внутри функции $(document).ready(). Если вы говорите, что код, ожидающий загрузки через AJAX, может загружаться или не загружаться одновременно с родительской страницей (т. Е. Пользователь должен щелкнуть по вкладке, чтобы загрузить ее, а не по умолчанию), тогда вы дизайн плох, и вам придется переосмыслить подход. По сути, вы не можете иметь код на своей родительской странице, ссылающийся на элементы DOM, которые еще не существуют и могут не существовать, пока пользователь не нажмет на вкладку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...