• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Flyings
博客园    首页    新随笔    联系   管理    订阅  订阅

js事件跨浏览器处理

1.DOM 0 级事件。

2.DOM 2 级事件(addEventListener(),removeEventListener());IE中与之相同的是attachEvent(),detachEvent()。

3.跨浏览器封装方法:

<input type="button" id="testevent" value="按钮">
function showMes() {
    alert('调用成功');
}
var btn = document.getElementById('testevent');
//跨浏览器事件处理,检测支持的类型
var eventutil = {
    //添加句柄
    addHandler: function (element, type, handler) {
        if (element.addEventListener) {
            element.addEventListener(type, handler, false);//false指定事件机制是冒泡
        } else if (element.attachEvent) {
            element.attachEvent('on'+type, handler);//IE下不需要设置boolean值,事件机制为事件捕获
        } else {
//DOM 0级 element[
'on' + type] = handler; } }, //删除句柄 removeHandler: function (element, type, handler) { if (element.removeEventListener) { element.removeEventListener(type, handler, false);//false指定事件机制是冒泡 } else if (element.detachEvent) { element.detachEvent('on' + type, handler);//IE下不需要设置boolean值,事件机制为事件捕获 } else { element['on' + type] = null; } } } eventutil.addHandler(btn, "click", showMes);

 

posted @ 2015-10-15 21:12  Flyings  阅读(181)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3