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;
}
相关文档:
现在感觉js很好很强大,随着深入的学习,你就会不会拒绝在客户端使用js。之前也在网上找了点资料,一起看看。
value="我是 button" />
动态添加onclick事件:
<input type="button" value="我是 button" id="bu">
<script type="text/javascript">
var bObj=document. ......
(转http://www.javaeye.com/topic/155109)
JavaScript 是面向对象的。但是不少人对这一点理解得并不全面。
在 JavaScript 中,对象分为两种。一种可以称为“普通对象”,就是我们所普遍理解的那些:数字、日期、用户自定义的对象(如:{})等等。
还有一种,称为“方法对象”,就是我们通常定义的 f ......
深入理解JavaScript的变量作用域
http://www.cnblogs.com/rainman/archive/2009/04/28/1445687.html
在学习JavaScript的变量作用域之前,我们应当明确几点:
a、JavaScript的变量作用域是基于其特有的作用域链的。
b、JavaScript没有块级作用域。
c、函数中声明的变量在整个函数中都有定义。
1、JavaScript的作用域链 ......
<html>
<body>
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2))
</script>
</body>
</ ......