Я использую jQuery .load() для загрузки содержимого в div. Иногда у загружаемого содержимого есть функция document.ready(), которая вызывается и работает правильно (т. Е. Вызывается функция ready()). Однако, когда я использую идентификатор элемента в .load(), например: .load ("test.php #content"), Javascript больше не выполняется, даже если я помещаю тег скрипта внутри элемента, который находится загружен. У кого-нибудь есть решение для этого, кроме как не использовать идентификатор элемента в .load()? Заранее спасибо.jQuery .load с другой страницы, содержащей Javascript
Вот динамическое содержимое (loadDialogTest.php):
<div id="test">
<div>
Hello, World!
</div>
<script type="text/javascript">
$(document).ready (function() {
alert ("ready");
});
</script>
</div>
и здесь страница (где элемент ID не указан), который загружает его (укорачивается настолько, насколько это возможно, сохраняя при этом форму:
<head>
<script type="text/javascript">
$(document).ready (function() {
$("#openDialog").click (function() {
$("<div></div>")
.load ("loadDialogTest.php")
.appendTo ($("#containingDiv"))
.dialog ({
autoOpen: 'false',
title: 'Test This!',
close: function() {
$(this).dialog ('destroy').remove();
}
});
});
});
</script>
</head>
<body>
<a href="#" id="openDialog">Open it</a>
<div id="containingDiv">
</div>
</body>
Если я ставлю #test после файла .php в качестве дел до загрузки, тем JQuery готов() функция больше не вызывается.
Если функция ready() не вызывается, можете ли вы просто поместить свой javascript в блок сценария без функции ready()? Таким образом, он будет выполняться без ожидания события ready(). – shanabus
Собственно, при указании #test после PHP-файла вызывается блок Javascript «никогда». Я тоже пробовал это :( – Dave
Это, похоже, известная проблема с .load, когда я столкнулся с той же проблемой. Если вы посмотрите комментарии на странице jQuery .load, вы найдете много других в одной лодке, включая меня. На самом деле мне еще нужно найти решение, которое мне нравится, потому что мне очень нравится вытаскивать только элемент страницы и, как хранить файлы, как вы. Учитывая, что прошло несколько месяцев, вы что-нибудь придумали? – bladmiral