[英]jquery page javascript not loading on ajax div
[修訂]
你好,感謝反饋的家伙。 順便說一句,我通過問題進行了修改。 為了讓事情更清楚,這是我的 html 頁面(僅示例)
<html>
<head>
<body>
<form>
<div class="loadAjax"></div>
<div class="toggle">[form inputs here]</toggle>
<a href="#" class="btn">Submit</a>
</form>
<script>[several js scripts here]</script>
</body>
</html>
這是我的主要 js 文件:
$(function() {
[some lines here]
$('.toggle').toggle();
$('.btn').on('click', function(e) {
e.preventDefault();
$.ajax({
url: 'http://example.com/ajaxpage',
type: 'POST',
data: $('form').serialize(),
beforeSend: function() {
...
},
success: function(data) {
$.getScript('js/main.js');
$('.content').html(data);
}
});
});
});
將在 div.loadAjax 中加載的頁面。
<div class="toggle">ajax page load</div>
以此為例,主頁上的切換似乎有效。 但是div.toggle
上的div.loadAjax
沒有。 我需要設置$.getScipt()
以便再次重新加載 main.js 文件。 div.loadAjax
不應該繼承 main.js,因為它首先已經加載了嗎? 為什么我仍然需要使用$.getScript()
重新加載它?
注意:我正在使用 ajax 在 PHP 頁面上發布表單。
再次感謝!
切換代碼已在您的第一個頁面加載時執行。 這不會在沒有頁面重新加載的情況下自動再次執行,否則您必須再次觸發它或者應該像現在一樣再次加載您的腳本。
嘗試將其附加到 click 事件並使用.trigger
動態觸發它
$(function() {
[some lines here]
$(".toggle").on("click", function(){
$('.toggle').toggle();
});
$('.toggle').trigger("click");
$('.btn').on('click', function(e) {
e.preventDefault();
$.ajax({
url: 'http://example.com/ajaxpage',
type: 'POST',
data: $('form').serialize(),
beforeSend: function() {
...
},
success: function(data) {
$('.content').html(data);
$('.toggle').trigger("click");
}
});
});
});
為什么不使用$.load()
方法: http : //api.jquery.com/load/
這將允許您執行 Ajax 調用,將結果注入回頁面的 DOM 中,並且還支持執行通過請求加載的腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.