JavaScript事件
JavaScript事件分类:
1、捕获型(IE不支持)(从DOM结构的最顶端开始向下延伸)
2、冒泡型(从DOM结构的最低端向上一级级延伸)
【IE7以上可以给‘html’添加onclick事件,IE中body->html,火狐中html->body】
JavaScript添加事件监听:
1、IE:
[object].attachEvent("event_handler", fnHandler);
[object].detachEvent("event_handler", fnHandler);
当添加多个事件监听函数时,后添加的先调用,但并非严格上的先后顺序。
2、标准DOM的监听方法
[object].addEventListener("event_name", fnHandler, bCapture);
[object].removeEventListener("event_name", fnHandler, bCapture);
当添加多个事件监听函数时,先添加的先调用,而且严格按先后顺序执行。
JavaScript事件对象
在IE 浏览器中事件对象是window 对象的一个属性event,访问时通常采用如下方法。
oP.onclick = function(){
var oEvent = window.event;
}
尽管它是window 对象的属性,但event 对象还是只能在事件发生时被访问,所有的事件处理函数执行完之后,该对象就消失了。
而标准的DOM 中规定event 对象必须作为惟一的参数传给事件处理函数,因此在类似Firefox 浏览器中访问事件对象通常将其作为参数,代码如下:
oP.onclick = function(oEvent){
}
因此为了兼容两种浏览器,通常采用下面的方法。
oP.onclick = function(oEvent){
if(window.event) oEvent = window.event;
}
相关文档:
在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />
IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" onclick="alert(\"OK\");" />
结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法 ......
之前看了有关匿名函数的调用,感觉有必要和大家分享一下。
关于什么是匿名函数,及它带来的优势在本文就不深究了,先抛出一个常用的匿名函数:
(function(){alert('yo')})()
很多同学知道怎么用这种匿名函数,却或许并不明白为什么这样写就能够调用匿名函数。也许知道后面的圆括号是执行前面的函数,而并不清楚前面的圆 ......
一、什么是事件冒泡
在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事 件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直 ......
(转http://www.javaeye.com/topic/155109)
JavaScript 是面向对象的。但是不少人对这一点理解得并不全面。
在 JavaScript 中,对象分为两种。一种可以称为“普通对象”,就是我们所普遍理解的那些:数字、日期、用户自定义的对象(如:{})等等。
还有一种,称为“方法对象”,就是我们通常定义的 f ......
with
(object)
statements
参数
object
新的默认对象。
statements
一个或多个语句,object 是该语句的默认对象。
说明
with
语句通常用来缩短特定情形下必须写的代码量。在下面的例子中,请注意 Math 的重复使用:
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * ......