2016年10月1日星期六

JavaScript 浏览器事件解析

  • JavaScript 浏览器事件解析阅读笔记

    tags: JavaScript JavaScript事件

    • JavaScript 程序采用了异步事件驱动编程(Event-driven programming)模型
    • 容易造成命名空间的冲突
      • 因为onclick中的JavaScript代码执行片段是全局作用域下的
    • 属性赋值会覆盖原值的。所以无法绑定 多个 事件处理函数
      • 使用el.onclick 绑定事件的缺点 = function(){...}
    • 标准的绑定方法有两种,addEventListener 和 attachEvent 前者是标准浏览器支持的 API,后者是 IE 8 以下浏览器支持的 API
      • 通常需要我们做个兼容封装 function addEvent(target, type, handler) { if (target.addEventListener) { target.addEventListener(type, handler, false); } else { target.attachEvent('on' + type, function() { return handler.call(target) }); } } addEvent(document, 'click', function() { alert(this === document) });
    • 链接如果是这种格式,点击的时候相当于执行了这段 JavaScript 脚本
    •  
      • 取消事件冒泡的封装
    •  
      • 获取事件对象的方法---不同浏览器有兼容问题
    • 事件代理的性能会比单独绑定事件高
    •  
      • 插入完成后遍历每个元素进行绑定,这种的效率很低,而且代码的可读性也不好

Posted from Diigo. The rest of my favorite links are here.

没有评论:

发表评论