dom事件

  正如javascript由草根到招安,dom事件也经历了诞生,混战到规范的三个阶段

模型简介

  • 传统模型

  客户端js程序采用异步事件驱动编程模型,事件监听是这个模型最基本的要求,而且感觉也就实现了个监听...

  • ie模型

  传统模型只提供了监听功能,随着js的发展,对事件的需求也越来越多,浏览器产品经理互相摘抄各种理念比如多投,传播...而且被广大程序猿所接受
  ie模型是里面的代表,也算是少数(我都想说唯一)还存在的模型

  • dom模型

  模型是软件开发的基础,混乱的模型不存在任何用户体验,有爱的w3c诚邀各类厂家,视图建立统一的接口实现

  • jquery模型

  按理说事情就简单了,使用最新模型总不会错,但是.....
  客户老爷的重口味爱好(ie捆绑战术+盗版国情),使得神奇的落后浏览器依然存活着,而更令人恼怒的是各大产品经理对dom模型的不同理解(文档不全害死人),这时我们需要一套兼容模型
  jqury事件模型经过不断地借鉴(抄袭),设计完善,成为了非常经典的事件模型(我是jquery党)

模型规范

  •  传统模型

  传统模型只实现了监听功能,当然他有2种方式,html属性方式和脚本化方式因为全都以on开头,可以成为onXX系列

  html属性方式

<div onclick="console.log(arguments.callee)">点我点我</div>

  脚本化方式(js方式)

document.getElementsByTagName("div")[0].οnclick=function(){
    console.log(arguments.callee,"by onclick");
    }

  我们可以通过任意的方式进行事件的监听,其种类超过65种,而且他还有一下几个

  1.属性中存放是是方法体,他是

function(event){
    with(xxx){
//这里面的内容,至于xxx的内容,跟具体事件有关  } }

   2.属性化优先级高与脚本话

在dom解析式就进行的初始化比任何时候的脚本方式都快

  3.监控的事件只存在一个

2+3=属性化方式第一个被覆盖

ie模型

为了收买前端猴子,ie产品经理提供了以下理念冒泡,派发,并且为element提供3大接口,在派发中的bean,则被声明为event(再次强调,当时的规范没这个+事件没有参数+js单线程执行===window.event)

 

dom模型

为了解放猴子,w3c提出统一的事件模型,他吸纳了大多数厂商的全部特性,以此妄想得到所有人的支持

jquery模型

因为历史遗留问题,并非所有流行的浏览器都支持最新模型(不吐槽ie678了,说不定微软早就想把他们砸了),既然了解了基础事件模型,干嘛不自己写一个兼容模型类?

转载于:https://www.cnblogs.com/liuCy/p/4371309.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值