上工作在我的web應用程序,我有它加載其他頁面一個div:$('#main').load('pages/main.php');
jQuery腳本不
main.php包括jQuery驗證腳本。這個腳本正在工作,如果我直接去主要的PHP,但不工作,如果我會在我的索引頁上main.php加載使用此頁面。
我該如何解決這個問題?
在此先感謝。
上工作在我的web應用程序,我有它加載其他頁面一個div:$('#main').load('pages/main.php');
jQuery腳本不
main.php包括jQuery驗證腳本。這個腳本正在工作,如果我直接去主要的PHP,但不工作,如果我會在我的索引頁上main.php加載使用此頁面。
我該如何解決這個問題?
在此先感謝。
我最終使用.livequery()來解決這個問題! :)
看一看。
http://plugins.jquery.com/project/livequery/
包括插件,那麼你就需要這樣的事情在你的index.php
<script type="text/javascript">
$(document).ready(function(){
$('#yourInputField')
.livequery(function() {
$('#yourInputField').YourValidatorPlugin();
});
});
</script>
謝謝。但是,我將使用.live() - 這是在livequery的模擬中生成的 – dsplatonov 2010-08-31 09:22:11
.load()不回退腳本。這是默認功能的一部分docs
爲Inrbob指出的問題是,將內容加載到一個元素將不加載,也不執行腳本元素。申請一個新的腳本到頁面的適當途徑,是落實:
var s = $("<script src='" + script_location_for_validation + "'/>");
$("body").append(s);
這將延遲加載的JavaScript,如果你想用緩存來提高以後頁的速度讓你的代碼,你的頁面(重要負荷)。
另一方面,將您的庫和腳本放在頁面的末尾是非常好的做法,這樣它們不會阻止其他下載或渲染。
我在將所有這些工作應用於所有IE中時遇到了一些麻煩,但我從頭部和身體撤回了腳本;一些是外部文件,一些是內聯的。如果此方法適用於您(即您始終知道要拖動的頁面上有哪些腳本),則可以將代碼添加到.load()回調中,以便在加載數據後立即運行該腳本。 – lnrbob 2010-08-28 07:42:18
不錯的建議 - 謝謝 – dsplatonov 2010-08-28 16:06:32
@lnrbob在我一直致力於IE6的所有項目中,都被認爲是最終被拋棄的磨石。 IE7和IE8應該正確處理它。 @dsplatonov作爲lnrbob暗示,如果您沒有控制請求的另一端的代碼,則此解決方案不會爲您執行任何操作。 – Gabriel 2010-08-28 18:49:09
很容易
它會勉強工作。
使用Fiddler/Firebug觀看HTTP請求並查看響應。在這裏發佈。 – 2010-08-28 07:19:55