我有一个非常大的 javascript 文件,我只想在用户单击某个按钮时加载它。我使用 jQuery 作为我的框架。是否有内置方法或插件可以帮助我做到这一点?
更多细节: 我有一个“添加评论”按钮,它应该加载 TinyMCE javascript 文件(我已经将所有 TinyMCE 的东西归结为一个 JS 文件),然后调用 tinyMCE.init(...)。
我不想在初始页面加载时加载它,因为不是每个人都会点击“添加评论”。
我知道我可以做到:
$("#addComment").click(function(e) { document.write("<script...") });
但是有更好/封装的方式吗?
最佳答案
是的,使用 getScript而不是 document.write - 它甚至允许在文件加载后进行回调。
不过,您可能想在包含它之前检查是否定义了 TinyMCE(以便随后调用“添加评论”),因此代码可能如下所示:
$('#add_comment').click(function() {
if(typeof TinyMCE == "undefined") {
$.getScript('tinymce.js', function() {
TinyMCE.init();
});
}
});
假设您只需要调用一次 init
就可以了。如果没有,你可以从这里弄明白:)
关于javascript - JQuery动态加载Javascript文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912711/