我有一个页面,我在点击时从其他页面加载一些内容。这个内容需要一些额外的javascript才能工作,所以我想加载它并通过eval()执行它。这是我的方法,但它不起作用:
$.get('jsfile.js', function(jsfile) {
eval(jsfile);
});
$('#content').load('otherpage.php #thiscontent');
我不明白为什么它不起作用。我知道内联javascript通常不会执行,但不应该eval()来处理它吗?
答案 0 :(得分:1)
这是因为在调用jQuery.load
时指定页面片段时,会删除脚本标记。
请参阅Loading Page Fragments文档中的jQuery.load
。
与$ .get()不同,.load()方法允许我们指定一部分 要插入的远程文档。这是通过特殊的方式实现的 url参数的语法。如果有一个或多个空格字符 包含在字符串中,第一个字符串后面的字符串部分 假设space是一个确定内容的jQuery选择器 要加载。
您需要使用其他功能来达到理想的效果。