Jquery скрипт не работает на загруженной странице - PullRequest
1 голос
/ 28 августа 2010

В моем веб-приложении у меня есть div, который загружает другую страницу: $('#main').load('pages/main.php');

main.php состоит из сценария проверки jquery. Этот скрипт работает, если я перехожу непосредственно к основному php, но не работает, если я буду использовать эту страницу на моей индексной странице, где загружен main.php.

Как я могу решить эту проблему?

Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 28 августа 2010

очень просто

  1. Сохранить все функции javascript, используемые main.php, во внешнем файле и включить их в текущую страницу.
  2. Загрузить содержимое в div.
  3. Вызовите соответствующую функцию.

Это будет неприлично работать.

1 голос
/ 28 августа 2010

Я решил использовать .livequery (), чтобы решить именно эту проблему! :)

посмотри.

http://plugins.jquery.com/project/livequery/

Включите плагин, тогда вам понадобится что-то подобное в вашем index.php

<script type="text/javascript">
$(document).ready(function(){

            $('#yourInputField') 
              .livequery(function() { 
                 $('#yourInputField').YourValidatorPlugin(); 
        });
});
</script>
1 голос
/ 28 августа 2010

как указывает Inrbob, проблема заключается в том, что загрузка содержимого в элемент не будет загружать или выполнять элементы скрипта.Надлежащим способом применения нового скрипта к странице является реализация:

var s = $("<script src='" + script_location_for_validation + "'/>");
$("body").append(s);

Это будет лениво загружать javascript и держать ваш код вне вашей страницы (важно, если вы хотите использовать кэширование для повышения скоростипоследующая загрузка страницы).

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

0 голосов
/ 28 августа 2010

.load () не возвращает сценарии. Это часть функциональности по умолчанию в документах

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