为元素绑定点击事件:
.onclick
.addEventListener(type,listener,useCapture) ie8不支持
参数1:事件的类型—事件的名字,没有on,string类型 需要加引号
参数2:事件处理函数–函数(命名函数,匿名函数)
参数3:布尔类型(true和false)用来判断捕捉阶段和冒泡阶段-----true是捕捉阶段,false是冒泡阶段
.attachEvent(type,listener); 仅IE8支持
参数1:事件的类型—事件的名字,有on
参数2:事件处理函数–函数(命名函数,匿名函数)
要点:
1、判断是否有某个方法时应该不加括号
加括号则意味调用的是方法的返回值
function Person(name) {
this.name = name;
this.say = function () {
console.log("你好");
};
}
var per = new Person("小明");
//此时括号里的是方法的返回值
/*if (per.say()) {
}*/
//判断函数里是否有这个方法
if (per.say) {
}
2、一个字符串可拆分成多个字符串
“onclick”-----“on”+“click”
3、对象.方法-----对象[“方法名”]
兼容代码
//为任意元素.绑定任意事件,(任意元素,事件的类型,事件处理函数)
function addEventListener(element, type, fn) {
//判断浏览器是否支持这个方法
if (element.addEventListener) {
element.addEventListener(type, fn, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, fn);
} else {
element["on" + type] = fn;
}
}
IE8测试