您的位置:首页 > Web前端 > JavaScript

动态加载js文件

2015-06-07 10:10 766 查看
第一种方法:

[html] view
plaincopy

<span style="font-size:14px;">function addscript(){

var js=document.getElementById("find");

var script=document.createElement("script");

script.type="text/javascript";

script.src="js/edit.js";

script.id="find";

document.body.replaceChild(script,js);

//alert("ok");

}</span>

jquery:

[html] view
plaincopy

function loadJs(file) {

var head = $("head").remove("script[role='reload']");

$("<scri" + "pt>" + "</scr" + "ipt>").attr({ role: 'reload', src: file, type: 'text/javascript' }).appendTo(head);

}

第二种方法:jquery函数getscript()

$.getScript('new.js',function(){

newFun('"Checking new script"');//这个函数是在new.js里面的,当点击click后运行这个函数

});

第三种方法:

js封装成函数,需要是重新加载一遍

$(document).ready(function global(){.......

success:function(data){

//alert(data);

$("#ajax").hide();

//cleatInterval(load);

$("#edit-main").append(data);

//addscript();

global();

}

第四种方法:

一个JavaScript逻辑,会自动绑定函数到按钮的click事件,但是这段代码会反复注册事件。这样依赖onNext函数会在点击一次按钮的时候多次触发。

这是JQuery内部没有判断是否绑定多次,怀疑其内部用了数组保存事件函数,而且没有去重。

下面的代码预防了这个问题。解决方案很简单。

复制代码代码如下:

if (!this.hasPageBarEvents) {

$(".pNext").on("click", this, this.onNext);

this.hasPageBarEvents = true;

}

以后用到JQuery要小心这个特性。
第五种方法:

采用DOM0级事件监听 ON
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: