- 浏览: 155083 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (137)
- JavaScript (23)
- get post (0)
- SSH (4)
- Hibernate (1)
- cmd (2)
- 火狐 IE (1)
- 中英文环境模板下载 (1)
- 日期 (0)
- 其他总结 (5)
- 正则校验 (3)
- Sql Server (0)
- FreeMarker (1)
- 继承 (1)
- SQL (2)
- ORACLE -- SQL Server -- Access 常见Sql语句的区别 (1)
- ORACLE -- SQL Server -- Access 常见Sql语句的区别 (0)
- 解决int和Integer不能互转 (0)
- 原子类 (1)
- Final,finally,finalize的区别 (1)
- Web前端 (12)
- Reader InputStream (1)
- 线程 (1)
- JDBC (1)
- AJAX (3)
- Linux (2)
- 素数 (1)
- 接口-----继承 (1)
- 数据库查询性能优化 (1)
- Spring MVC3 深入了解 (1)
- JS (18)
- log4j简介 (1)
- Java序列化的机制和原理 (0)
- allowTransparency属性 (1)
- 测试类 (1)
- CSS (14)
- JQuery (10)
- 多线程 (1)
- 数据库 (2)
- Spring 注解 (1)
- JSTL标签库 (1)
- HTML (8)
- 界面设计 (4)
- 测试 (4)
- 职业生涯 (1)
- 数据可视化 (1)
- UI设计 (3)
- eclipse怎样生成javadoc (2)
- redis memcache 比较 (1)
- Windows 8系统IE10无法安装Flash Player插件的解决办法 (1)
- IE7 问题 (1)
- 常用JS验证 (1)
- Hadoop,MapReduce学习步骤 (1)
- 开始-运行-命令大全 (1)
- jQuery与ExtJS优缺点比较 (1)
- Oracle (1)
- 文档转换 (1)
- Maven与Ant比较 (1)
最新评论
-
谁说我不是会员:
很给力的文章,通俗易懂
Get请求和Post请求的区别 -
Spirit_eye:
请问一个图片按钮怎么置灰
按钮置灰跟按钮不显示
window.onload
简单地讲,window.onload和<body onload="">可以理解成一个,只要有一个就行了,不要同时使用,同时使用的话,在程序能正常运作的情况下,以最后出现的为准;
window.onload的正确用法是【window.onload=function(){ AAAAAAA }】或者【window.onload=XXXX】,<body onload="">的正确用法是【<body onload="BBBBB(),BBBBB()">】,这里的XXXX一定要是不带括号的情况,就比如是【test2】但不能是【test2()】,后面我说明这个原因。多个window.onload定义时,以最后一个为准,前提是代码正确,比如有这样的代码:
window.onload=test1;
window.onload=function(){alert("2");};
window.onload=test3;
最后的结果当然是window.onload=test3;生效。
简单看了一下你的问题真的是太多了,你的基础太差,需要好好补啊。还有DOM和JS的关系与JS操作DOM的知识。
至于你的那些疑问,挑两个来说吧:
一、为window.onload指派新的方法(理解为函数吧),请用window.onload=XXXXX;而不是window.onload(XXXXXX);这样做的后果是你不能保证你想要的结果,因为XXXXXX可能是未知数,某些情况下这样的结果也等同于【window.onload()】,也就是直接启动了window.onload事件,具体的你需要学习一下js的基础。
二、你上面的写法:window.onload(test1,test2(),test3()); 这里产生的结果原理大致是这样的:程序走到这里,看见了【window.onload(】(注意左括号) ,程序读到了左括号就会认为这个是要传递参数了,接下来就应该读括号里的参数情况直到遇到右括号。第一个参数【test】,当普通变量处理了,所以运行的结果就是第一个参数是【undefined】;再往下走,第二个参数【test2()】,当函数处理,所以这个时候会先弹出提示“2”,再把函数的返回值作为参数,但是因为你的函数没有返回值,所以运行的结果就是第二个参数也是【undefined或者true或者false,反正就是未知的】;同样的,走第三个参数时,先运行alert,提示“3”;然后第三个参数还是【undefined或者true或者false】;接下来,终于看到右括号了,程序此时的运行情况就应该是【window.onload(undefined,undefined,undefined);】,由于window.onload是不用参数的,所以这里就等于【window.onload();】所以会执行一次onload事件,而之前的代码中,你的onload事件已经指派为【test1(),test2()】,所以这里会先后弹出1和2。等页面全部加载完,又会因为【body onload="test1(),test2()"】再次执行,再次弹出1和2;所以这里为什么会出现两次1和2,就是因为先有【window.onload()】后有【body onload="test1(),test2()"】,所以整个程序运行的结果就是231212了。同样的原理你后面的【window.onload(test1,test3()); 】会出现31212。
三、window.onload=test3() 和 window.onload=test3 是两个概念,【window.onload=test3() 】运行情况大致是:由于这里是函数【test3()】所以会先执行一下,提示3,然后把函数执行的结果作为等号右边的值要传递给左边,程序此时也就等于【window.onload=undefined 】,显然这个程序没有意义,再往下走,程序遇到了【body onload="test1(),test2()"】,所以会提示1和2,整个下来就是312了。但是【 window.onload=test3 】等同于【window.onload=function test3(){ alert("3");} 】,这里是函数名传递问题。所以只提示3。同时这段代码覆盖了【body onload="test1(),test2()"】。所以不会提示1和2了。
四、window.onload=(test1(),test4()) 这样的写法也是不对的,基本上是先提示1和4,然后程序变成【window.onload=(undefined,undefined) 】,会导致这个程序错误的。
html页面加载是从头加载到尾部,和js还是html无关。js在html头部写,就先加载,如果里面寻找某个元素,这时候页面加载的html还没有加载到,自然找不到对象。建议js都写在html底部。一、不会产生上述的问题。二、利于页面加载速度,页面结构和css先加载,快速让浏览器上显现页面。
来自:http://hi.baidu.com/zhanglp/item/951e90f3728e030384d2788c
简单地讲,window.onload和<body onload="">可以理解成一个,只要有一个就行了,不要同时使用,同时使用的话,在程序能正常运作的情况下,以最后出现的为准;
window.onload的正确用法是【window.onload=function(){ AAAAAAA }】或者【window.onload=XXXX】,<body onload="">的正确用法是【<body onload="BBBBB(),BBBBB()">】,这里的XXXX一定要是不带括号的情况,就比如是【test2】但不能是【test2()】,后面我说明这个原因。多个window.onload定义时,以最后一个为准,前提是代码正确,比如有这样的代码:
window.onload=test1;
window.onload=function(){alert("2");};
window.onload=test3;
最后的结果当然是window.onload=test3;生效。
简单看了一下你的问题真的是太多了,你的基础太差,需要好好补啊。还有DOM和JS的关系与JS操作DOM的知识。
至于你的那些疑问,挑两个来说吧:
一、为window.onload指派新的方法(理解为函数吧),请用window.onload=XXXXX;而不是window.onload(XXXXXX);这样做的后果是你不能保证你想要的结果,因为XXXXXX可能是未知数,某些情况下这样的结果也等同于【window.onload()】,也就是直接启动了window.onload事件,具体的你需要学习一下js的基础。
二、你上面的写法:window.onload(test1,test2(),test3()); 这里产生的结果原理大致是这样的:程序走到这里,看见了【window.onload(】(注意左括号) ,程序读到了左括号就会认为这个是要传递参数了,接下来就应该读括号里的参数情况直到遇到右括号。第一个参数【test】,当普通变量处理了,所以运行的结果就是第一个参数是【undefined】;再往下走,第二个参数【test2()】,当函数处理,所以这个时候会先弹出提示“2”,再把函数的返回值作为参数,但是因为你的函数没有返回值,所以运行的结果就是第二个参数也是【undefined或者true或者false,反正就是未知的】;同样的,走第三个参数时,先运行alert,提示“3”;然后第三个参数还是【undefined或者true或者false】;接下来,终于看到右括号了,程序此时的运行情况就应该是【window.onload(undefined,undefined,undefined);】,由于window.onload是不用参数的,所以这里就等于【window.onload();】所以会执行一次onload事件,而之前的代码中,你的onload事件已经指派为【test1(),test2()】,所以这里会先后弹出1和2。等页面全部加载完,又会因为【body onload="test1(),test2()"】再次执行,再次弹出1和2;所以这里为什么会出现两次1和2,就是因为先有【window.onload()】后有【body onload="test1(),test2()"】,所以整个程序运行的结果就是231212了。同样的原理你后面的【window.onload(test1,test3()); 】会出现31212。
三、window.onload=test3() 和 window.onload=test3 是两个概念,【window.onload=test3() 】运行情况大致是:由于这里是函数【test3()】所以会先执行一下,提示3,然后把函数执行的结果作为等号右边的值要传递给左边,程序此时也就等于【window.onload=undefined 】,显然这个程序没有意义,再往下走,程序遇到了【body onload="test1(),test2()"】,所以会提示1和2,整个下来就是312了。但是【 window.onload=test3 】等同于【window.onload=function test3(){ alert("3");} 】,这里是函数名传递问题。所以只提示3。同时这段代码覆盖了【body onload="test1(),test2()"】。所以不会提示1和2了。
四、window.onload=(test1(),test4()) 这样的写法也是不对的,基本上是先提示1和4,然后程序变成【window.onload=(undefined,undefined) 】,会导致这个程序错误的。
html页面加载是从头加载到尾部,和js还是html无关。js在html头部写,就先加载,如果里面寻找某个元素,这时候页面加载的html还没有加载到,自然找不到对象。建议js都写在html底部。一、不会产生上述的问题。二、利于页面加载速度,页面结构和css先加载,快速让浏览器上显现页面。
来自:http://hi.baidu.com/zhanglp/item/951e90f3728e030384d2788c
发表评论
-
jQuery与ExtJS优缺点比较
2014-03-18 11:36 2035jQuery与ExtJS优缺点比较 jQuery 主页:h ... -
html5 在IE6/IE7/IE8中使用html5标签
2014-01-13 11:26 5028html5 在IE6/IE7/IE8中使用html5标签 h ... -
让IE浏览器支持HTML5标准的方法
2014-01-10 15:24 552让IE浏览器支持HTML5标准 ... -
jquery设置元素的readonly和disabled
2013-12-25 10:29 497jquery设置元素的readonly和disabled ... -
JS数据类型转换
2013-12-06 09:55 706JS数据类型转换 JS数据类型转换方法主要有三种:转换函数、 ... -
JS:window.onload的使用
2013-11-27 16:30 612JS:window.onload的使用 1、最简单的调用 ... -
$(document).ready() 与 JavaScript中的window.onload
2013-11-27 15:07 592Jquery中$(document).ready()的 ... -
小编辑 HTML5 的 placeholder属性
2013-11-20 16:52 503HTML5 的 PLACEHOLDER 属性\ HTML5 ... -
JSON 数据格式
2013-11-14 10:37 430JSON 数据格式 JSON(JavaScript Obje ... -
js 中 map 转换 json 格式
2013-11-01 14:13 19892js 中 map 转换 json 格式 function ... -
JS获取当前页面的URL信息
2013-10-31 17:30 577JS获取当前页面的URL信 ... -
input失去焦点和获得焦点jquery焦点事件
2013-01-09 16:12 4565<html xmlns="http://www ... -
input失去焦点和获得焦点jquery焦点事件
2013-01-09 16:12 1356<html xmlns="http://www ... -
style中position的属性值详解
2013-01-09 15:31 673style中position的属性值详 ... -
HTML 事件属性
2012-12-07 17:52 702HTML 4 的新特性之一是可以使 HTML 事件触发浏览 ... -
HTML <a> 标签的 target 属性
2012-12-07 17:43 1586<h3>Table of Contents< ... -
jsp页面Table自动换行
2012-12-05 10:29 2060自动换行:word-wrap:break-word;table ...
相关推荐
脱离document.onload和window.onload的onload事件,可多次添加加载事件!
在网页开发中,`body.onload` 和 `window.onload` 是两个常见的JavaScript事件处理函数,用于在页面完全加载后执行特定的代码。它们都是用来确保在执行任何操作之前,页面的所有资源(包括HTML、CSS、JavaScript、...
windows
<body onload="window.parent.opener=null;window.close();"> ``` 这段代码的作用是在页面加载完成后立即关闭当前窗口。需要注意的是,这种方式可能也会受到浏览器的弹出窗口拦截机制的影响。为了确保兼容性更好...
当需要一个事件触发时执行多个函数,单纯地使用`window.onload`或元素的`onclick`等事件处理方式可能会遇到问题,特别是在需要同时处理多个事件处理器时。这时,`window.attachEvent`和`window.addEventListener`就...
总结来说,`jQuery(document).ready()`提供了一种灵活且高效的处理DOM就绪的方式,而`window.onload()`和`body.onload`更适用于需要等待整个页面加载的场景。理解这些不同方法的用法和区别,可以帮助开发者更有效地...
与`$(document).ready()`不同的是,`window.onload`只能被调用一次,并且需要等待页面上所有资源加载完成,因此它会在`$(document).ready()`之后执行。 ```javascript window.onload = function() { // 你的代码 }...
有两种常见的方法可以实现这点,一种是使用 `window.onload` 事件,另一种是使用 jQuery 的 `$(document).ready()` 方法。 window.onload 事件 `window.onload` 事件是在页面中的所有元素都已经加载完毕后触发的,...
在JavaScript中,`window.onload` 是一个非常关键的事件,用于确保在页面所有资源(包括图像、脚本、样式表等)完全加载之后再执行指定的函数或代码块。这通常用于那些依赖于页面元素存在的操作,因为这些操作需要...
<body onload="openwin()"> 任意的页面内容... ``` 4. 同时弹出 2 个窗口: ```javascript <!-- window.open ('page1.html', 'window1', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, ...
window.attachEvent('onload', function() { console.log('页面加载完成'); }); } ``` #### 4. 结论 通过以上方法,我们可以有效地解决IE11不支持`attachEvent`的问题。在实际开发中,建议尽可能采用现代浏览器...
【Window.open()详解】 在JavaScript中,`window.open()` 是一个非常重要的方法,它用于打开一个新的浏览器窗口或者重载已有的窗口。以下是对这个方法的详细介绍: ### 1. 基本用法 最简单的`window.open()` 使用...
<body onload="openwin()"> ``` 这段代码表示,当页面加载完成时,会自动执行`openwin()`函数,从而打开配置好的新窗口。同样地,可以通过`onunload`事件在页面卸载时执行相应操作。 此外,还展示了如何通过点击...
资源名称:15天漫游jQuery中文翻译 word版内容简介:15天漫游jQuery中译本,不是很完整,但是也是学习jquery 不可或缺的东东1 day Window.onload() 一直是常用的javascript函数。数年来程序员们习惯了通过它在...
本文将深入探讨如何使用JavaScript来监听页面渲染完成的时间,并对比两种常见方法:`window.onload`和jQuery的`$(document).ready`。 首先,我们来看`window.onload`事件。这个事件会在页面中所有的资源,包括HTML...
2. **页面操作**:`window.onload`和`window.DOMContentLoaded`事件分别在页面完全加载和DOM结构加载完成后触发,用于执行脚本。 3. **窗口大小和位置**:`window.innerWidth`和`window.innerHeight`返回窗口的内部...
selenium会弹出网页窗口,因为它重写了window.open在文件selenium-browserbot.js函数BrowserBot.prototype.modifyWindowToRecordPopUpDialogs中的newOpen,但这必须在window.onload之后创建才有效。对于HTTPS安全性...
2. 优先考虑使用window.onload或document.addEventListener('DOMContentLoaded', function() {...})方法,而不是document.onreadystatechange,除非需要根据页面加载状态的细微变化进行处理。 3. 如果页面中有多个...
首先,必须明确的是,window.onload和window.load并非只是简单的页面加载完成时的事件触发器。具体到window.onload,它的作用是当整个网页(包括所有相关资源如图片、样式表等)加载完成后再执行指定的代码。这意味...