js实现了一些跨浏览器事件的方法和示例。
使用Javascript来实现事件的绑定和删除以及一些常见事件属性的获取,我们应该考虑到不同浏览器的兼容性。
无功eventutil = { {
函数(元素,类型,处理程序){添加事件
如果(元。addEventListener){
element.addeventlistener(类型、处理程序、错误);
} else if(元。attachevent){ / / IE注意:此时,事件处理程序将运行在全球范围内,这样的事件,是受attachevent等于窗口中的事件处理函数在这个时间,所以我们要注意使用的时候。
element.attachevent(+型,处理程序);
{人}
元素+类型=处理程序;
}
},
关闭:函数(元素,类型,处理程序)
如果(元。removeEventListener){
element.removeeventlistener(类型、处理程序、错误);
如果(元。detachevent){ }
element.detachevent(+型,处理程序);
{人}
元素+类型} = null;
}
},
匀:功能(事件){ / *返回一个引用对象的事件。
返回事件:window.event;
},
gettarget:功能(事件){ / *返回事件的目标。
返回event.srcelement | | event.target;
},
PreventDefault:功能(事件){ / * * /取消事件的默认行为
如果(事件。preventDefault){
Event.preventDefault();
{人}
event.returnvalue = false;
}
},
里面的功能(事件){ / *停止事件。
如果(事件。里面){
event.stoppropagation();
{人}
event.cancelbubble =真;
}
},
/ *鼠标悬停和mouserout这两事件相关的鼠标指针从一个元素移动到另一个在边界内的元素的边界。* /
取得相关的目标:功能(事件){
如果(事件。relatedtarget){
返回event.relatedtarget;
} else if(事件。toelement){ / / IE8 mouserout事件
返回event.toelement;
} else if(事件。fromelement){ / / IE8 mouseover事件
返回event.fromelement;
{人}
返回null;其他事件
}
}
};
电话如下:
eventutil.on(文档,点击功能(事件){ / /文档元素绑定单击事件
事件= eventutil.getevent(事件); / /获取事件的事件对象
警报(屏幕坐标:event.screenx + +
});
本文是基于第三版的Javascript高级程序设计。
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。