2014-04-04 72 views
0

我的頁面利用AJAX .load函數將div從單獨的.html文件加載到我的頁面上的目標div。獲取.load函數以在加載的內容中工作

這裏是我的AJAX代碼:

$(document).ready(function(){ 
$("#about2").click(function() { 
$("#content").load("content.html #about", function() { 
$.getScript("slides.js", function() { 
$(window).scrollTop(0); 
}); 
}); 
}); 

$("#process2").click(function(){ 
    $("#content").load("content.html #process", function() { 
    $(window).scrollTop(0); 
    }); 
}); 

$("#materials2").click(function(){ 
    $("#content").load("content.html #materials", function() { 
    $(window).scrollTop(0); 
    }); 
}); 

$("#pricing2").click(function(){ 
    $("#content").load("content.html #pricing", function() { 
    $.getScript("tabbedcontent.js", function() { 
$(window).scrollTop(0); 
}); 
}); 
}); 

$("#radio2").click(function(){ 
    $("#content2").load("content.html #radiofriendly", function() { 
    $(window).scrollTop(0); 
    }); 
}); 
}); 

基本上,我content.html頁有.load內的內容鏈接(在我的AJAX抓住從內容的文件)內,所以基本上,我的AJAX從我的content.html抓取內容,然後將它放在目標頁面的內容div中(例如print.html),但是我想要抓取的內容中的某些鏈接,也要激活負載函數,內容當前加載到。

網站是:

http://crookedcartoon.co.uk/print.html

和被加載到我的內容,格設置外,我想改變我的錨代碼中我的內容(從我content.html頁)什麼是目前在DIV是:

<a class="content-links" id="materials2" href="#materials">Materials</a> 

對不起這是如此令人費解,但我可以嘗試,並更好地解釋,如果人們不掌握我想要做的事。

感謝您的幫助。

回答

1

jQuery中的事件綁定僅在您的相關JS代碼被激活時在DOM樹中存在選定元素時執行。因此,您應該使用.on()來允許腳本將事件綁定到DOM樹中新添加的元素。

我假設,說#process2是動態加載到#content。正常的.click()綁定事件將不起作用。但是,你可以改變它變成:

$(document).on('click', '#process2', function() { 
    $("#content").load("content.html #process", function() { 
     $(window).scrollTop(0); 
    }); 
}); 

這就是所謂的事件冒泡,其中click事件冒泡到document。使用.on(),我們告訴您的腳本在事件源自#element2時執行該功能。

+0

Thankyou,這已經創造了奇蹟,另一個快速破壞你的腦子,有沒有一種方法來使用.load函數來加載內容到一個div和也改變HTML頁面?即點擊news.html上的鏈接,該鏈接將在print.html中的#content div中加載div,並將頁面更改爲print.html並加載目標內容。 – user3494604

+0

很難想象你想實現什麼樣的功能...... – Terry

+0

從不同的html頁面,我想funtionalise上述過程(從另一個頁面加載內容到一個div),但也改變了HTML頁面我' m目前在。我認爲最簡單的方法是允許我的AJAX部分具有超鏈接能力(返回,刷新,熱鏈接等功能),然後基本上使用整個鏈接。 – user3494604

相關問題