Динамическая загрузка скрипта на основе jQuery и событие ready - PullRequest
0 голосов
/ 22 июля 2010

Я использую ASP.NET MVC Framework, вызовы jQuery и Ajax для выполнения некоторого рендеринга частичного представления на основе клиентского ввода, моя проблема заключается в том, что некоторые из сценариев требуют, чтобы частичное представление полагалось на событие ready, поднятый jQuery.

Сценарии, как внешние, так и включенные в представлении, загружаются без проблем, но поскольку страница уже загружена, событие ready никогда не запускается.

Есть ли способ предварительно обработать сценарии (загруженные с использованием $.ajax со свойством async, установленным в false) и сделать что-то , чтобы запустить событие готовности?

Либо так, либо нужно искать способ информирования главной страницы о том, что есть метод, который нужно запустить, другими словами, создать платформу для динамического вызова методов инициализации, когда они извлекаются с сервера с помощью Ajax и работают с готовое событие, когда они появляются как часть страницы?

Спасибо

Кирон

Ответы [ 2 ]

0 голосов
/ 03 ноября 2010

Как оказалось, проблема была моей (проблема с упорядочением тегов). redsquare Помогите разобраться в проблеме / направьте меня в правильном направлении - так что заслуга ему

Пожалуйста, смотрите комментарии к вопросу для более подробной информации.

0 голосов
/ 22 июля 2010

Вам нужно событие готовности для запуска, потому что вам нужно привязать поведение к тому, что вы только что загрузили?

Если это так, вы можете использовать либо функцию .live (), либо плагин livequery.

С обоими вы можете просто предопределить поведение, основанное на селекторе, независимо от того, существуют или нет вещи, соответствующие селектору. Когда соответствующие элементы загружены, они автоматически примут поведение.

Для чего-то более сложного, плагин livequery вызовет событие, сообщающее вам, что было добавлено что-то новое, соответствующее вашим селекторам, позволяющее запустить любой код, который вам нужен. Это позволит вам хранить весь соответствующий код в одном файле .js, а не распределять его между несколькими частичными представлениями.

Встроенная функция live (): http://api.jquery.com/live/

Плагин livequery: http://plugins.jquery.com/project/livequery/

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