addLoadEvent和vue window.onloadd的问题

在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我有三个js文件都要使用addLoad Event函数,但是只有最后一个js文件才能加载成功,前面两个好像给覆盖了,怎么调试都不行,请问这是哪一步错了啊,求大神解答。以下是源码:
&!DOCTYPE html&
&html lang="en"&
&meta charset="UTF-8"&
&title&充实文档的内容&/title&
&link rel="stylesheet" type = "text/css" media="screen" href="styles/typography.css"&
&script type="text/javascript" src="scripts/addLoadEvent.js"&
&script type="text/javascript" src="scripts/displayCitations.js"&
&script type="text/javascript" src="scripts/displayAccessKeys.js"&
&script type="text/javascript" src="scripts/displayAbbreviations.js"&
&h1&What is the Document Object Model?&/h1&
&p&The &abbr title="World Wide Web Consortium"&W3C&/abbr& defines
the &abbr title="Document Object Model"&DOM&/abbr& as: &/p&
&blockquote cite="http://www.w3.org/DOM/"&
A platform- and language-neutral interface that will allow
programs and srcipts to dyamically access and update the content, structure and style of documents.
&/blockquote&
It is an &abbr title="Application Programming Interface"&Api
&/abbr& that can be uesd to navigate &abbr title="HyperText
Markup Language"&HTML&/abbr& and &abbr title="eXtensible
Markup language"&XML&/abbr& documents.
&ul id="navigation"&
&li&&a href="index.html" accesskey="1"&Home&/a&&/li&
&li&&a href="search.html" accesskey="4"&Search&/a&&/li&
&li&&a href="contact.html" accesskey="9"&Contact&/a&&/li&
以下是addLoadEvent函数:
function addLoadEvent(func) {
var oldonload = window.
if (typeof window.onload != 'function') {
window.onload =
window.onload = function() {
再放其中一个要加载的js文件吧
function displayCitations() {
// 取得所有引用
if (!document.getElementsByTagName || !document.createElement || !document.createTextNode)
var quotes = document.getElementsByTagName("blockquote");
for (var i = 0; i & quotes. i++) {
if (!quotes[i].getAttribute("cite"))
var url = quotes[i].getAttribute("cite");
var quoteChildren = quotes[i].getElementsByTagName("*");
if (quoteChildren.length & 1)
var elem = quoteChildren[quoteChildren.length - 1];
// 创建a元素节点
var link = document.createElement("a");
// 创建值为“source”的文本节点
var link_text = document.createTextNode("source");
// 把文本节点插入a元素节点
link.appendChild(link_text);
// 把href属性节点添加给新链接
link.setAttribute("href", url);
// 创建sup属性节点
var superscript = document.createElement("sup");
// 把新链接放入sup元素
superscript.appendChild(link);
elem.appendChild(superscript);
addLoadEvent(displayCitations);
function displayAccessKeys() {
if (!document.getElementsByTagName || !document.createElement || !document.createTextNode)
// 取得文档中所有的链接
var links = document.getElementsByTagName('a');
// 创建一个数组,保存访问键
var akeys = new Array();
// 遍历链接
for (var i = 0; i & links. i++) {
var current_link = links[i];
// 如果没有 current_link属性,继续循环
if (!current_link.getAttribute("accesskey"))
// 取得accesskey的值
var key = current_link.getAttribute("accesskey");
// 取得链接文本
var text = current_link.lastChild.nodeV
// 添加到数组
akeys[key] =
// 创建列表
var list = document.createElement("ul");
// 遍历访问键
for (key in akeys) {
var text = akeys[key];
// 创建放到列表中的字符串
var str = key + ":" +
// 创建列表项
var item = document.createElement("li");
var item_text = document.createTextNode(str);
item.appendChild(item_text);
// 把列表项添加到列表中
list.appendChild(item);
// 创建标题
var header = document.createElement("h3");
var header_text = document.createTextNode("Accesskeys");
header.appendChild(header_text);
// 把标题添加到页面主体
document.body.appendChild(header);
// 把列表添加到页面主体
document.body.appendChild(list);
addLoadEvent(displayAccessKeys);
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
window.onload是只在所有js加载完后才会触发的事件回调,所以只有在你的最后一个文件加载后才会执行
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你addLoadEvent函数那里的oldload没有加()。不加括号的话就相当于导入这个函数的值而不是运行这个函数。所以你之前没有是因你根本没有运行之前的函数。在oldload那里加上括号试试看。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
同样遇到这个问题求高手解答
该答案已被忽略,原因:
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我也是这个问题!!我用Chrome看了提示我:elem.appendChild(superscript);这一行代码错误
该答案已被忽略,原因:不符合答题规范:内容不是答案,可用评论、投票替代
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。当前位置: →
→ onload事件-----addLoadEvent函数
onload事件-----addLoadEvent函数
& 作者及来源: chenssy - 博客园 &
&收藏到→_→:
摘要: onload事件-----addLoadEvent函数
"onload事件-----addLoadEvent函数"::
window.onload = myfunction();
&&&&&&&&& 假如我们希望某个函数在网页加载完毕之后就立即执行。网页加载完毕时会触发一个事件,所以我们可以利用事件来加载这个函数。事件与对象相关联。如:
&&&&&&&&& 把函数绑定到这个事件上:
&&&&&&&&& 一个函数我们可以利用上面的解决那两个、三个甚至更多呢?怎么解决??
&&&&&&&&& 假如我们有和两个函数,是不是就是下面这样写呢:
window.onload =
window.onload =
&&&&&&&&但是每个处理函数只能绑定一条指令。所以上面的不行。因为函数将会取代函数。
&&&&&&&&&有一种办法可以帮助我们解决上面问题:即我们先创建一个匿名函数来容纳这两个函数,然后把那个匿名函数绑定到事件上,如下:
window.onload = function(){
firstfunction();
secondfunction();
&&&&&&&&&这确实是一个好的、简答的方法。
&&&&&&&&&但是其实还存在一个最佳的解决方案&&不管你打算在页面加载完毕后要执行多少此文来自: 马开东博客
转载请注明出处 网址:
个函数,利用该函数都可以轻松的实现。
&&&&&&&&&该函数名为。该函数仅一个参数:该参数指定了你打算在页面加载完毕后需要执行的函数的函数名。
&&&&&&&&&addloadevent()函数代码如下:
function addloadevent(func){
var oldonload = window.
if(typeof window.onload!='function'){
window.onload =
window.onload = function(){
oldonload();
&&&&&&&&&addloadevent函数主要是完成如下的操作:
&&&&&&&&&& 1、把现有的事件处理函数的值存入到中。
&&&&&&&&&& 2、如果在这个处理函数上还没有绑定任何函数,就将该函数添加给它。
&&&&&&&&&& 3、如果在这个处理函数上已经绑定了一些函数,就把该函数追加到现有指定的末尾。
&&&&&&&&&通过函数,只需要调用该函数就可以进行绑定了。
1 addloadevent(firestfunction);
2 addloadevent(secondfunction);
&&&&&&&&所以这个函数非常有用,尤其当代码变得很复杂的时候。无论你打算在页面加载完毕时执行多少个函数,只需要多写几条这样的语句就可以解决了。方便、实用。
&搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
onload事件-----addLoadEvent函数_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜js里面共享onload事件的addLoadEvent函数里addload()和func()语句是什么意思? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。11被浏览<strong class="NumberBoard-itemValue" title="分享邀请回答var sQueue="";
function addList(str){
var oldQueue=sQueue;
if(sQueue.length===0){//没有添加函数
sQueue=str;//添加函数
}else{//如果已经添加了函数
sQueue=oldQueue+str;//将已经添加的函数加给自己并且将新的函数添加进来
addList('选项卡');
addList('返回顶部');
addList('ajax提交');
alert(sQueue)//最后所有绑定的函数都有了
--------------------------------理解上面的嗲吗后参考上面代码的思路来理解下面的代码。function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') { //1.如果window.onload不是一个function,可以理解为如果onload没有绑定函数
window.onload = func; //2.那么我们就将传入的函数直接绑定到onload里面去
} else { //如果他是一个functoin,可以理解为他已经绑定了
window.onload = function() {
oldonload(); // 1
* 1.把已经添加的函数加到onload里面去。(有点绕,这里的oldonload是原有的函数)
* 2.把传入的func函数加到onload里面去 (新的函数)
其实就是将一些函数添加到window.onload里面去同时保证以前添加的函数也在(要是封装DOMContentLoaded事件的话会绕,此句话可无视)若有错误敬请指出。116 条评论分享收藏感谢收起坚持的魅力往往在于待回首时总会收获付出的感动-BigoSprite
addLoadEvent函数在页面加载后同时执行多个函数
不知不觉已经研一暑假了,跟着老板做项目,该项目一部分需要前端的知识。刚好老板也要求学习JavaScript,于是乎我便看经典的书籍——JavaScript DOM编程艺术(第2版),遇到问题遂写下此笔记。假如要在页面加载完毕后立即执行一个函数,我们使用window.onload事件即可完成任务。具体来说,网页加载完毕后会出发一个onload事件,该事件和window对象相关联。比如我们想要在页面加载完毕后立即某个函数,可以这么写:window.onload = someFunction();它虽然解决了我们的问题,但这样还不够完美。假设我们有两个函数:firstFuction和secondFunction。如果想让它们在页面加载后得到执行,该怎么办?如果把它们逐一绑定到onload事件上(如下面代码所示),它们当中只有最后一个被执行。你可能会想:每个事件处理函数只能绑定一条指令。有一种办法可以解决这种难题:可以先创建一个匿名函数来容纳这两个函数,然后把那个匿名函数绑定到onload事件上,如下所示:
// 逐一绑定
window.onload = firstF
window.onload = secondF
// 通过匿名函数绑定
window.onload = function(){
firstFunction();
secondFunction();
它确实能很好的工作——在需要绑定的函数不是很多的场合,这应该是很简单的方案。但是当需要绑定函数很多时,这种做法就有点不完美了。因此我们需要更简单的解决方案,那就是:封装addLoadEvent函数,可页面加载后同时执行多个函数。
addLoadEvent函数
不管你打算在页面加载完毕后执行多少个函数,它都应付自如。这个函数司幽Simon Willison编写,它只有一个参数:打算在页面加载完毕后执行的函数名字。下面是addLoadEvent函数将要完成的操作:
1. 把现有的window.onload事件处理函数的值存入变量oldonload。
2. 如果在这个处理函数上还没有绑定任何函数,就像平时那样把新的函数添加给它。
3. 如果在这个处理函数上已经绑定了一些函数,就把心得函数追加到现有的指令末尾。
下面是addLoadEvent函数的代码清单,这个函数我们可以在写JavaScript代码时直接使用!
function addLoadEvent(func){
var oldonload = window.
if(typeof window.oldonload != 'function'){
window.onload =
window.onload = function(){
oldonload();
}注意:有时候在添加函数时需要这么写:addLoadEvent(firstFunction()); 这里小括号别忘记写了!不然不能正确的发展我们的计划!
没有更多推荐了,
新浪微博:
只有高手才能活下来.
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!window.onload的使用_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
window.onload的使用
&&window.onload同时执行多个函数的解决方法
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 window.onload 不执行 的文章

 

随机推荐