Web页面中的Javascript
脚本代码通常需要在加载
文档之后
执行。否则,可能会导致无法获得任何对象的
情况。为了避免这种情况发生,我们可以采用以下两种
方法。
首先,将脚本代码放在Web页面的低端,这样当
运行脚本代码时,可以确保要加载的对象已经加载。
两。执行脚本代码通过在window.onload。
第一种方式是混乱的(实际上是
推荐的)。我们
经常需要把脚本代码在一个更合适的地方,所以在window.onload方法是一个更好的choice.window.onload是一个事件。加载文档时,它将触发事件。我们可以
注册这个事件的事件
处理函数,并且我们将脚本代码放在事件处理函数中,这样我们可以避免我们不能得到对象的情况:
在window.onload用法
# BG {
宽度:100px;
身高:100px;
边境:2px固体红;
}
document.getelementbyid(BG)。风格。
背景颜色=# F90 ;
上面的代码是div
设置背景颜色为# F90,但没有达到这样的效果,这是因为代码是
顺序执行的,当执行的document.getelementbyid(# BG)。风格。背景颜色=# F90 这句话,是不是装一个div对象,所以它不能成功设置,
修改代码如下:
位置高度垂直中心
# BG {
宽度:100px;
身高:100px;
边境:2px固体红;
}
窗口。指针函数(){
document.getelementbyid(BG)。风格。背景颜色=# F90 ;
}
原因是代码中设置背景颜色是摆在在window.onload事件处理函数。只有加载文档时,才能执行事件处理函数,并执行脚本代码设置背景颜色。
事件处理函数绑定:
方式1:
窗口。指针函数(){ },是对在window.onload事件绑定事件处理
程序在上面的代码中使用,这必然是一个匿名函数,当然,你也可以结合非匿名函数,代码示例如下:
在window.onload用法
详细解释
窗口的指针myalert()函数。
{
;
}
上面的代码可以绑定的
名字myalert方法对在window.onload事件,但它是不可能将多个事件处理函数,这一事件在以下方式:
窗口。指针函数(){ }
窗口。指针函数(B){ }
上面的代码并不会为在window.onload事件绑定多个事件处理函数,但最后一个覆盖在前面所有的
功能,但代码是可以改变的:
在window.onload用法
# BG {
宽度:100px;
身高:100px;
边境:2px固体红;
}
窗口。指针函数(){
函数A(){
document.getelementbyid(BG)。风格。背景颜色=# F90 ;
}
函数B(){
document.getelementbyid(BG)。风格。宽度=200px ;
}
(a);
(b);
}
上面的代码实现了绑定多个事件处理函数的相同效果。
模式二:
你可以使用addEventListener()和()attachevent绑定事件处理函数的onload事件。下面是以下几点:
AddEventListener()是一个事件处理函数结合的方法对目前的标准,但低于IE8,IE8
浏览器不
支持这种方法,并举例如下:
在window.onload用法
# BG {
宽度:100px;
身高:100px;
边境:2px固体红;
}
Window.addEventListener(负荷
Window.addEventListener(负荷
函数BG(){
document.getelementbyid(BG)。风格。背景颜色=# F90 ;
}
功能changew(){
document.getelementbyid(BG)。风格。宽度=200px ;
}
上面的代码可以绑定多个事件处理函数来在window.onload事件。到语法格式简介:
AddEventListener(
类型 AddEventListener()函数有三个
参数,第一个参数的事件类型,注意前面的事件类型没有,如在window.onload,这里只写负载,第二个参数是绑定的函数名称,第三个参数是
错误的。
与attachevent绑定事件处理函数()函数:
在IE9不支持addEventListener IE浏览器()函数,所以attachevent()函数在的地方,和代码实例如下:
在window.onload用法
# BG {
宽度:100px;
身高:100px;
边境:2px固体红;
}
window.attachevent(onload
window.attachevent(onload
函数BG(){
document.getelementbyid(BG)。风格。背景颜色=# F90 ;
}
功能changew(){
document.getelementbyid(BG)。风格。宽度=200px ;
}
上述代码的效果是使用addEventListener()函数,和相同的语法格式简介:
AddEventListener(类型
这个函数有两个参数。第一个参数是事件类型。然而,它具有相同的函数的第一个参数作为调用addEventListener(),但它的名字是不同的。名称是打开的,第二个参数是绑定的事件处理程序的名称。为了与各种浏览器兼容,上述代码需要进行改革。
在window.onload用法
# BG {
宽度:100px;
身高:100px;
边境:2px固体红;
}
如果(窗口。addEventListener){
Window.addEventListener(负荷
Window.addEventListener(负荷
}
别的{
window.attachevent(onload
window.attachevent(onload
}
函数BG(){
document.getelementbyid(BG)。风格。背景颜色=# F90 ;
}
功能changew(){
document.getelementbyid(BG)。风格。宽度=200px ;
}
上面的代码
解决了大型浏览器的
兼容性问题:
如果(对象。addEventListener){
Object.addEventListener();
}
别的{
object.attachevent();
}
if语句是用来判断一个对象有一个注册侦听器
属性,如果这是使用addEventListener()函数,该attachevent()函数的使用