恕我直言,你應該避免插入JavaScript代碼到AJAX加載頁面元素。這不是他最好的辦法。 爲什麼你不能製作一個JavaScript函數並在AJAX完成加載後激活它?或把它點擊或懸停事件......
的JavaScript的onClick:
<a class="orange"
onclick="return voteClick(this, '{{ item.pk }}', '1', '{% url ajaxvote %}')"
href=''>Button text</a>
,然後在你的腳本:
function voteClick(self, pk, multiplier, url){
//some actions function makes
//for e.g. making POST or changing DOM
// you can use vars that are generated by django template system
return false;
};
jQuery的方式:
$.post(url, { param1: value1, param2: value2 }, function(data){
//some function actions upon your AJAX complete
//call your function with code here
// you can load some 'data' for this script from django
// and not the whole script
voteClick(self, value1, value2, data);
return false;
} //end function
);//end POST
ou可以閱讀更多關於此:jQuery POST
所以這裏主要的想法是,你必須加載腳本從您MEDIA_ROOT靜態內容,並將它傳遞一些必要的參數。使用live()函數加載腳本是一種很難的方法。你必須注意追蹤很多功能和參數。
當然,如果您使用jQuery,使用它的選擇器很容易跟蹤代碼事件。但是,再次...爲什麼你需要使用AJAX請求加載代碼?這絕對是在這裏使用的靜態文件,如腳本文件...
我已經廣泛使用.live()。我還需要執行腳本時,新的內容負載(即的document.ready) – sxv
hmm..couldn't你執行這些腳本作爲加載內容的腳本成功功能的一部分? –
成功函數是否等到所有數據完全加載或僅在它看到數據已返回之前等待? – sxv