不废话,常用的事件模式如下所示:
元素.on+事件名称=有名函数名(不可加上括号)/匿名函数体、
或者
元素.addEventListener(事件动作,处理函数,冒泡/捕获);
但是IE低版本不支持,需要改为元素.attachEvent(on+事件名称,处理函数);
通过以下函数能够完美解决兼容问题
functionbind(obj,evName,fn)
{
if(obj.attchEvent)
{
obj.attachEvent('on'+evName,function(){
fn.call(obj);
});
}else{
obj.addEventListener(evName,fn,false);
}
}
常用事件如下所示:
Click:单击事件
Mouseover/mouseenter:鼠标移入事件
Mouseout/mouseleave:鼠标移除事件
Focus:获取焦点事件
Blur:失去焦点事件
Change:表单元素发生变化事件,一般用在select
Keydown:键盘按下事件
Keyup:键盘抬起时间
Keypress:键盘抬起事件
Scroll:滚动事件
Resize:窗口缩放事件
Mousewheel:火狐之外的鼠标滚轮事件
DOMMouseSorll:火狐的滚轮事件
另外,我可以添加ev(事件处理函数,习惯上我的理解就是用来监听事件出发的各种操作)ev为了兼容各种浏览器,通常情况下采用如下方式进行监听
var ev=ev||event;
那么ev通常情况下使用如下方法:
ev.keyCode:键盘上的键值
ev.clientX/ev.clientY:鼠标坐标
ev.wheelDelta:火狐外的浏览器的滚轮方向
ev.detail:火狐的滚轮方向
ev.type:事件名称