2016-02-27 73 views
-1

在我的網站的index.html中,我有一個div元素,當點擊一個菜單項(使用jquery)時發生更改。插入到這個元素中的頁面都有一些javascript函數。但是,我正好在body關閉之前將我的JavaScript文件加載到index.html中。當這個div元素改變時,這些文件不會'重新加載',所以javascript在這些頁面上不起作用。我將如何解決這個問題?我必須重新加載JavaScript文件對元素的更改嗎?如果是這樣,怎麼樣?在html更改上重新加載javascript

編輯: 對不起,這些都爲頁面插入代碼:

$("li.load-page").click(function() { 

    var pagina = $(this).data("page") + ".html"; 
    console.log(pagina); 
    $("#main-content").load(pagina); 
}); 

主要內容是index.html中的空div。

在這種被插入我使用jQuery的手風琴在我的HTML例如頁面之一,但由於它包含在頭它不工作,並在頁面上不插入刷新:

$(function() { 
    $("#accordion").accordion({ 
     collapsible: true, 
     heightStyle: "content" 
    }); 
}); 

EDIT2:我模擬我的問題在這裏:https://jsfiddle.net/ktoeon2f/2/

+0

你可以分享你的代碼? –

+0

到目前爲止你做了什麼?把你的代碼放在這裏! – Pedram

+0

您給出的腳本在其中標記了一個源代碼或直接寫入的腳本? –

回答

0
<script type="text/javascript" id="jsid"> 
//your script here 
</script> 

after onchange call 

eval(document.getElementById("jsid").innerHTML); 


after load 

$("li.load-page").click(function() { 

    var pagina = $(this).data("page") + ".html"; 
    console.log(pagina); 
    $("#main-content").load(pagina); 

    eval(document.getElementById("jsid").innerHTML); 
    // give an id (jsid) to script tag inside your loaded page 
}); 
+0

這看起來像是一個很好的解決方案。當腳本處於src屬性而不是標籤內時,我該如何使用它?會有這樣的工作嗎? eval(document.getElementsByClassName(「jsid」)。getAttribute(src)) – Cake

+0

可以顯示腳本寫入哪些代碼不工作?據我瞭解,您的腳本必須使用腳本標記編寫,並且我建議您將該標識賦予該腳本標記。 – Shelim

+0

在頭部例如,我有這個: Cake