我正在使用来自另一个PHP文件的PHP文件的AJAX调用。 被调用的PHP与JAvascript代码一起创建一个html内容:
<div id = "chart" style="height: 400px "></div>
<script src="http: //ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src = "http://code.highcharts.com/highcharts.js" > < /script>
<script>
$(function (){
var xcat = ["Build 1","Build 2"];
var datas = [100,60];
$("#chart").highcharts({
chart: {
type: "column"
},
title: {
text: "Build Progress"
},
xAxis: {
categories: xcat
},
yAxis: {
title: {
text: "seconds"
}
},
series: [{
name: "Boot Time",
data: datas
}]
});
});
</script >
使用innerhtml插入后,脚本不会执行。 我读了一些解决方案:其中一个存在,但是对于一个外部的js文件。
http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS#quickIDX1
我需要知道如何在没有外部js文件的情况下运行脚本
帮助我使用相同的
感谢。 帕特里克
答案 0 :(得分:1)
您链接的代码只会在DOM ready事件触发时触发。如果你通过ajax加载它,你是对的。它永远不会触发,因为页面已经加载而且你没有刷新。
变化
$(function (){ //shorthand for jQuery(document).ready(function(){
var xcat = ["Build 1","Build 2"];
var datas = [100,60];
$("#chart").highcharts({
chart: {
type: "column"
},
title: {
text: "Build Progress"
},
xAxis: {
categories: xcat
},
yAxis: {
title: {
text: "seconds"
}
},
series: [{
name: "Boot Time",
data: datas
}]
});
});
到
function (){
var xcat = ["Build 1","Build 2"];
var datas = [100,60];
$("#chart").highcharts({
chart: {
type: "column"
},
title: {
text: "Build Progress"
},
xAxis: {
categories: xcat
},
yAxis: {
title: {
text: "seconds"
}
},
series: [{
name: "Boot Time",
data: datas
}]
});
}();// the () self executes the function so you don't have to call it
答案 1 :(得分:0)
使用innerHTML时,不会执行脚本标记。如果您使用jquery,则可以尝试$.html()
而不是innerHTML。 $.html()
将自动执行脚本标记。