2012-05-22 101 views
1

我有一個HTML頁面,裏面有jQuery和JavaScript。 我進口我需要在頭標記庫:jQuery導入jQuery

<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css" type="text/css" media="all" /> 
<link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
<script src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js" type="text/javascript"></script> 
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js" type="text/javascript"></script> 
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script> 
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script> 

於是我進口一些HTML使用jQuery裏面:

$('#cliente').click(function(){$('#container').load('/clienti/cliente');}); 

但jQuery的內部加載頁面無法正常工作。 (我確信代碼是正確的,就像單獨工作一樣)。

我需要做點什麼嗎?我試圖在腳本之前導入導入頁面中的庫(不在工作狀態),但不工作。 我沒有其他想法!

+1

你還需要在'/ clienti/cliente'中加載jQuery,但是它不會有任何意義,'load'不會評估你的js,據我所知:S –

+1

就像你一樣,你不應該直接從Google Code源代碼控件加載JS。這是一個重要的安全/穩定性問題。 –

+0

從'tags/latest'加載jQuery是麻煩的祕訣。 服務器日誌顯示'/ clienti/client'調用是否成功? –

回答

0

.load() only works for HTML您使用它的方式。 (請參閱標題爲「腳本執行」的部分)。它不會評估您加載的HTML內的任何腳本。你想要使用後綴加載它,即

$('#cliente').click(function(){$('#container').load('/clienti/cliente.html');}); 
+0

我從App Engine加載,所以我沒有html文件,但每次調用都生成它。 – Grostein

+0

如果您正在加載直接腳本,則可能比http://api.jquery.com/jQuery.getScript/更適合您。 – SomeKittens

+0

感謝您的鏈接! – Grostein

0

如果你的JS和HTML必須在同一個文件中,更好的方法是這樣。我相信它會以這種方式評估JS。

$('#cliente').click(function(){ 
    $.get('/clienti/cliente', function(data){ 
     $('#container').html(data); 
    });   
}); 

或者,您也可以通過這兩個項目(在HTML和JS)早在文本

$('#cliente').click(function(){ 
    $.getJSON('/clienti/cliente', function(object){ 
     $('#container').html(object.html); 
     $parseJSON(object.jscript); 
    });   
}); 

否則,你將需要使用$.get()$.getJSON()獲取在兩次射擊的HTML和JS 。