JavaScript 学习笔记— —Event(二)

标准的事件绑定函数是 addEventListener 函数,而 IE 浏览器(IE9 以下)则是用 attachEvent

// 实现一个通用的,跨多种浏览器的时间绑定函数
function addEvent(el, type, fn) {
  if (window.addEventListener) {
    el.addEventListener(type, fn, false);
  } else if (window.attachEvent) {
    el.attachEvent(‘on‘ + type, fn);
  } else {
    el[‘on‘ + type] = fn;
  }
}

IE 事件处理函数中的 this

在 IE 事件处理函数当中 this 的值并不等于被绑定元素,而是等于 window 对象。

var btn = document.getElementById("myButton");
btn.attachEvent("onclick", function(event) {
    alert(this === window);              // true
    alert(this.id)                       // undefined
});

而在标准事件绑定当中,this 的值等于被绑定的元素。

var btn = document.getElementById("myButton");
btn.addEventListener("click", function(event) {
    alert(this === btn);                  // true
    alert(this.id);                       // myButton
    alert(this === event.currentTarget);  // true
});
时间: 2024-08-07 04:07:41

JavaScript 学习笔记— —Event(二)的相关文章

Javascript学习笔记(二)javascript的特点

..对于网页而言,Javascript无处不在,对于英语不好的人它简直是噩梦般的存在,但形式所逼,今天开始着手学习!希望自己能坚持下去.从什么地方着手,我的目标是从大处着眼,从应用着眼,不抠细节,反正细节也记不住,到用到的时候在抠.尽管编程是外行,也积累了一些常识,所以就从javascript的特点开始学习. 一.什么是Javascript?JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有相对安全性的客户端脚本语言.这个定义非常好,几乎涵盖了Java

JavaScript 学习笔记(二)

学习内容: 一.变量的定义 二.JS的基本数据类型 三.JS的基本语法 1.变量的定义:   任何语言中最基本的东西就属于变量了,那么如何定义变量以及运用,其实是一件很简单的事情.. JS中提供了如何去定义变量,但是在定义变量的时候我们需要明确和注意一些事情.. 变量必须以字母开头 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做) 变量名称对大小写敏感(y 和 Y 是不同的变量) JS中变量的定义有自己的定义方式.. <html xmlns="http://www.w3.org/1

JavaScript学习笔记(二)——选项卡小结

Js制作选项卡小结 1.先构思好需要展示的页面效果,比如这样 2.需要显示的效果通过html和css制作出来,包括选项(第一课.第二课)的鼠标停留背景变色.下方选项页内容切换的内容等. 3.把此选项卡分为上下两个部分,并且3个选项对应3个选项页面.上方为id为tab的固定div,需要变换的是鼠标放入li时li切换背景(比如此时li为灰色背景):下方为content容器div,放入需要展示的内容(本例中为3个ul),初始效果为第一个ul显示block,后面两个为display:none. 4.将需

JavaScript 学习笔记— —Event(一)

Event代表事件状态,如事件发生的元素,键盘状态,鼠标位置和鼠标按钮状态.一旦事件发生,便会生成Event对象,如单击一个按钮,浏览器的内存中就产生相应的 event对象.event对象只在事件发生的过程中才有效.event的某些属性只对特定的事件有意义.比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义. [event属性]:altKey, button, cancelBubble, clientX, clientY,

JavaScript学习笔记【二】

JavaScript的变量.作用域 一.JavaScript的数据类型分为基本数据类型和引用数据类型. 1.基本数据类型分别包括Null.Undefined.Number.Boolean和String类型.这五种基本数据类型可以通过typeof方法来判定. alert(typeof a);其结果分别为'null'.'undefined'.'number'.'boolean'.'string'.基本类型的赋值是值得传递.例:当把一个变量a的值传递给另外一个变量b时. 这两个变量a.b就分别有了自己

JavaScript学习笔记(二)JavaScript基础

JavaScript标识符的命名规则:必须以字母或下划线开头,中间可以是数字.字母或下划线:变量名不能包含空格.加号.减号等符号:不能使用JavaScript中的关键字:JavaScript的变量名是严格区分大小写的 abstract continue finally instanceof private this boolean default float int public throw break do for interface return typeof byte double fun

JavaScript学习笔记(二)

filter 过滤某些元素,返回剩下的元素.例,删除偶数只留下奇数: var arr = [1,2,3,4,5,6]; var r = arr.filter(function(x){ return x % 2 != 0; }); console.log(r); 闭包私有变量 用javascript实现一个私有变量的效果,如下: function ZiZeng(x) { var z = x || 0; return { add: function() { z += 1; return z; } }

Javascript学习笔记(二)在HTML中使用Javascript

在HTML中使用Javascript只需一个标签<script>即可,虽然简单,但是里边有很多注意的东西,且听在下慢慢道来. 首先,使用<script>标签时推荐使用<script></script>,而不是使用<script />,因为后者是XHTML的写法,也许会在某些浏览器中得不到正确解析,比如IE.<script>标签既可以内部嵌入代码,也可以引用外部代码.当两者都存在的时候只会下载并执行外部脚本文件,嵌入的代码将会忽略.这里

javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量

定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta chaset="UTF-8"> 5 <title></title> 6 </head> 7 <body