ele.addEventListener(‘click’,function(){});//IE9级以上
ele.attachEvent(‘on’click’,function(){});//IE9-10;
兼容写法:
function addEventListener(ele,event,fn){
if(ele.addEventListener){
ele.addEventListener(event,fn);
}else if(ele.addEventListener){
ele.attachEvent('on'+event,fn);
}else{
ele['on'+event]=fn;
}
}
ele.onclick = null;
ele.removeEventListener(‘click’,fn);//移除函数不能使用匿名函数
ele.detachEvent(‘onclick’,fn);//IE9-10
兼容性处理
function removeEventListener(ele,event,fn){
if(ele.removeEventListener){
ele.removeEventListener(event,fn);
}else if(ele.detachEvent){
ele.detachEvent('on'+event,fn);
}else{
ele['on'+event] = null;
}
}
子元素触发父元素事件,父元素触发事件根据不同的子元素进行分别处理
father.onclick = function(e){
e = e || window.event;//老版本IE兼容性
if(e.target==xxx){
e.target.style.backgroundColor = "red";
}
}
获取当前页面可视区域的位置
获取当前页面位置 e.pageX/Y = e.clientX/Y + document.body…scrollLeft + document.body…scrollTop;
兼容写法:
function getScroll(){
var scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
return {
scrollLeft:scrollLeft;
scrollTop:scrollTop ;
}
}
e.keyCode 键码
48-57是数字
e.stopPropagation();
e.cancelBubble = true;//IE
a.窗口事件,只在body和frameset元素中才有效
onload 页面或图片加载完成时
onunload 用户离开页面时
b.表单元素事件,在表单元素中才有效
onchange 框内容改变时
onsubmit 点击提交按钮时
onreset 重新点击鼠标按键时
onselect 文本被选择时
onblur 元素失去焦点时
onfocus 当元素获取焦点时
c.键盘事件,在base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元素里都无效
onkeydown 按下键盘按键时
onkeypress 按下或按住键盘按键时
onkeyup 放开键盘按键时
d.在base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元素里都无效
onclick 鼠标点击一个对象时
ondblclick 鼠标双击一个对象时
onmousedown 鼠标被按下时
onmousemove 鼠标被移动时
onmouseout 鼠标离开元素时 触发事件冒泡
onmouseover 鼠标经过元素时 触发事件冒泡
onmouseleave 鼠标离开元素时 触发事件冒泡
onmouseenter 鼠标经过元素时 不触发事件冒泡
onmouseup 释放鼠标按键时
onmousewheel 滚轮事件
e.其他
onresize 当窗口或框架被重新定义尺寸时
onabort 图片下载被打断时
onerror 当加载文档或图片时发生错误时
自定义对象:有初始化对象和定义构造函数的对象两种方法