`
yunmoxue
  • 浏览: 288452 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

什么是原始事件模型

    博客分类:
  • ajax
阅读更多
这几天一直在写 原始事件模型 却弄不清楚到底是什么意思.今天上网查了查..总算略知一二..我把看到的东西拿过来给大家看看..
原地址:http://www.blogjava.net/dhcn/archive/2008/01/08/js_eventmodel_summary.html
作者: 简单

JS事件模型小结
         前几天看dojo的文档,其中多次提到DOM2事件模型,以前学习这部分的内容,主要愤慨于IE的不兼容性了,现在对于DOM2事件模型的概念又有些模糊,所以翻出了JS权威指南(V4)又复习了一下,简单作一小结。
       JS权威指南中将JS事件模型分为四种
            1、原始事件模型:属性事件处理模式
            2、标准事件模型:DOM2对其作了标准化
            3、IE事件模型(IE5.5\IE6)
            4、 Netscape事件模型

原始事件模型
         也就是基本事件处理,其实我们大多数人使用的JS事件处理模式都是这种代码方式。
         其事件类型:分为"输入事件(如onclicki)"和"语义事件(如onsubmit)"
        事件程序的注册可以以下几种方式:
1、JS代码作为HTML性质值
 <input type="button" value="Press me" onclick="alert('thanks');" 
        

2、事件处理程序作为JS属性
         附注:文档中的每个HTML元素在文档树(DOM)中都有一个相应的JS对象,这个JS对象的属性对应于那个HTML元素的性质,无论作为HTML性质的JS代码还是作为JS属性的时间处理程序,其本身的属性都是函数"function".
         作为JS属性的例子:
html背景:
<form name="f1">
<input name="b1" type="button" value="Press Me"/>
</form>
 
第一种赋值方式:

document.f1.b1.onclick=function()
    {
       alert('thanks');
     };
第二种赋值方式:

function plead()
{
   window.status="Please Press Me!";
}
document.f1.bi.onmouseover=plead;


作为JS属性的事件处理程序可以用JS属性显式调用
document.myfrom.onsubmit();
事件处理程序可以返回fale来阻止浏览器执行事件的默认动作,常用的如对onsubmit的操作。例外是对超链接mouseover的window.status显示事件的阻挡,是返回true.
例如:

<a href="help.htm" onmouseover="window.status='help';return true;">help</a>

         JS函数运行在词法作用域中,也就是定义他们的作用域中,因此作为HTML性质的JS事件处理程序,作用域链比较特殊,其头是调用对象(既这段JS代码),下一个对象是触发事件的对象既event.currentTarget,其后就是其包容层元素。整个作用域链的精确构成依赖于具体实现。
  
分享到:
评论
2 楼 yunmoxue 2009-02-07  



IE事件模型

         特点:
           1、传播过程只起泡,不捕捉。起泡中断方法:
window.ecent.cancelBubble=true;
           2、Event对象不是事件处理程序的函数参数,而是window的全局变量。
           3、事件注册函数:attachEvent()和反注册:detachEvent().
     
Netscape4事件模型
          由于Netscape好像已经完全停止开发,所以就不详述了,简单的说:就是只捕捉不起泡。
        

          后话:DOM2事件模型的主要实现者应该是FireFox、Opera。不过就事件注册的标准度上,Opera实现的好象更严格一点。参见《关于DOM事件模型的两件事》http://www.marchbox.com/blog/2-things-about-dom-events-model/                  


衷心感谢...
1 楼 yunmoxue 2009-02-07  
    

DOM2事件模型
         DOM2的模型提高的复杂度:
         1、首先它的事件模型中引入了传播过程:1)先由document向目标对象传播称之为:捕捉阶段;2)目标对象的事件处理程序运行,3)从目标对象向document起泡。Event.stopPropagation()可以停止传播,preventDefault可以阻止事件的默认动作(想想以前的return false)。
        2、事件处理程序注册:EventTarget.addEventListensr(String type,EcentListener listener,blooean useCapure).其中第三个参数决定注册程序在传播的那个过程被调用,true:在捕捉阶段调用,false:在后两个阶段被调用。
        3、DOM2还支持JAVA式的对象式事件处理程序注册,用的少,略。
        4、事件模块和事件类型:根据事件语义和特性做分类
        5、合成事件,即由JS代码模拟事件发生(适用于Test代码):它分为以下三个步骤:
              1)创建合适的事件对象:

var e=document.createEvent("HTMLEvents");
             2)初始化事件对象域(即:属性)

e.initEcent("click","true","true");
             3)分派事件对象:


eventTarget.dispatchEvent();

:

相关推荐

    unity原始人模型(带动画).unitypackage

    unity原始人模型(带动画),可导入直接使用,本博客所分享的资源,仅供学习使用,请勿商用!!!谢谢

    STK_GLTF三维模型_原始

    2. 模型均为gltf格式,符合gltf1.0标准,不支持gltf2.0标准,无法直接用Windows自带的3D查看器查看模型; 3. 所有模型均可以通过VS Code插件glTF Tools在Cesium环境下预览; 4. 飞机等模型的模型方向是反的,可以...

    js学习笔记之事件处理模型

    在各种浏览器中存在四种事件模型:原始事件模型、标准事件模型、IE事件模型,还有一种Netscape4事件模型,下面具体介绍一下。 1、目前共存在四种事件处理模型分别是:原始事件模型、标准事件模型、IE事件模型,还有...

    用MATLAB绘制斯坦福兔子模型【有原始模型数据,配合matlab内置函数】

    1. **数据加载**:首先,我们需要读取原始的模型数据。这些数据通常包含顶点坐标、法线向量和面索引等信息。MATLAB的文本读取函数(如`textread`或`dlmread`)可以用于此目的。 2. **数据处理**:原始数据可能需要...

    原始结构模型.skp

    原始结构模型.skp

    工业CT重建模型与原始CAD模型粗配准的改进.pdf

    为了评估加工后的零件是否符合设计要求,通常需要将其与计算机辅助设计(Computer Aided Design,简称CAD)中的原始模型进行对比分析。这一过程中,首先要利用工业CT技术对零件进行三维数字化扫描,然后重建出三维...

    空间计量,模型估计方法,包含常见的很多诸如空间滞后、空间误差、杜宾模型等,以及一些扩展的方法,针对截面数据,附原始数据。

    文件包含: 1.估计空间滞后模型SLM 2.估计空间误差模型SEM 3.拉格朗日乘子检验LM 4.估计空间杜宾模型SDM 5.估计空间杜宾模型SAR & SDM 6.估计空间杜宾模型,...14.【原始数据】 15.jplv7工具包 16.Elhorst_codes工具包

    unet-onnx工程原始模型下载

    https://github.com/cagery/unet-onnx/tree/main 开源链接下载不了原始模型unet_carvana_scale1_epoch5.pth,使用git lfs下载也提示报错,最后各种找资源找到了,上传一份,供大家测试使用

    原始模型学习笔记

    在IT领域,原始模型(Prototype)通常指的是软件开发中的原型设计。原型是产品设计过程中的一个重要环节,它允许开发者在实际编码之前创建一个初步的产品版本,以便于测试、验证概念和收集用户反馈。这个“原始模型...

    javascript大事模型介绍_.docx

    本文将详细介绍三种主要的事件模型:原始事件模型、DOM2事件模型以及IE事件模型,并探讨它们的差异和使用方法。 首先,原始事件模型是所有浏览器都支持的基础模型。在此模型中,事件分为“输入事件”(如`onclick`...

    RFM模型分析及原模型

    在提供的"RFM模型(原始数据聚类).xml"文件中,很可能包含了原始的RFM数据,通过导入到SPSS中,我们可以进行数据的清洗、转换、聚类分析等一系列操作,最终得出有价值的客户群体划分。 通过RFM模型分析,企业不仅...

    分数阶原始对偶去噪模型及其数值算法.docx

    ### 分数阶原始对偶去噪模型及其数值算法 #### 摘要解析与关键知识点 **摘要**:本文提出了一种新的分数阶原始对偶去噪模型,并对其进行了详细的理论分析与数值验证。该模型结合了分数阶微积分理论与对偶理论,...

    连接器信号完整性仿真原始模型stp

    连接器信号完整性仿真未经处理原始模型stp,

    基于matlab灰度预测模型原始发电量预测发电量

    "基于MATLAB灰度预测模型原始发电量预测发电量"这一主题聚焦于利用MATLAB编程环境和灰度预测模型来对发电量进行预估。下面将详细阐述这一领域的相关知识点。 首先,MATLAB是一种广泛应用于工程计算、数据分析和算法...

    如何使用和训练LoRA模型?以及常见lora资源

    它的主要目标是在不改动原始模型结构的情况下,通过少量数据训练,实现模型的个性化定制,如特定风格的文本生成或特定IP的模拟。LoRA在自然语言处理(NLP)领域中有着广泛的应用,特别是在对话系统如ChatGPT的前身中...

    javascript事件模型介绍

    一、原始事件模型 其事件类型:分为”输入事件(如onclicki)”和”语义事件(如onsubmit)” 事件程序的注册可以以下几种方式: 1、JS代码作为HTML性质值 复制代码 代码如下:&lt;input type=”button” value=”Press me...

    数字时钟设计原始模型multisim文件

    这是一个数字时钟设计的原始模型文件,可以直接下载并用multisim打开。

    意见传播模型原始c语言文献代码

    意见传播模型 Opinion evolution in closed community 的c语言原始代码~原创~

    基于事件模式及类型的事件检测模型.docx

    接下来,PTNN对抽象出的潜在论元进行角色表示,用以替换原始词汇,进一步强调事件模式信息。这一步骤有助于构建一个更加抽象和通用的事件表示,使得模型能更好地理解和识别各种事件模式。 为了学习事件模式和类型...

    具有单个手性超场的超重力膨胀模型中的原始黑洞生成

    本文提出了一种在超重力框架内,仅包含一个手性超场的具有双拐点的膨胀模型,用于研究原始黑洞(PBH)的生成。PBH是在宇宙早期,特别是在辐射时代,由于引力坍缩而从高度曲率功率谱的高峰形成的小尺度黑洞。在当今...

Global site tag (gtag.js) - Google Analytics