WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院软件开发Java 掌握 Dojo 工具包,第 3 部分: Dojo 事件机制 阅读

掌握 Dojo 工具包,第 3 部分: Dojo 事件机制

 2009-11-05 00:00:00 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示: document.getElementById("btn").onclick=null;document.getElementById("btn").onclick="";W3C DOM Level2 标准有了新的事件模型,新模型最大的

 document.getElementById("btn").onclick=null; 
 document.getElementById("btn").onclick="";

W3C DOM Level2 标准有了新的事件模型,新模型最大的变化有两点:

首先,事件不再只传播到目标节点,事件的传播被分为三个阶段:捕获阶段,目标节点阶段,冒泡阶段。一个事件将在 DOM 树中传递两次,首先从 DOM 根节点到目标节点(捕获阶段),然后从目标节点传递到根节点(冒泡阶段)。在这三个阶段都可以捕获事件进行处理,也可以阻止事件继续传播。 W3C 的官方网站有关于这三个阶段的详细说明。在 DOM Level0 定义的事件模型中,事件只能被目标节点处理,其实这也是大部分支持事件处理的编程语言采用的机制,比如 Java,C# 。但是这种方式可能并不适合结构比较复杂的 web 页面。比如很多链接都需要自定义的 tooltip,在 DOM Level0 的方式下,需要给每个链接的 mouseover,mouseout 事件提供事件处理函数,工作量很大。而在 DOM Level2 模型中,我们可以在这些链接的公共父节点上处理 mouseover,mouseout 事件,在 mouseover 时显示一个 tooltip,mouseout 时隐藏这个 tooltip 。这样只需要对一处进行更改即可给每个链接添加上自定义的 tooltip 。所以 DOM Level2 的设计者定义出分为三个阶段的事件模型也是为了适应复杂的 web 页面,让开发人员在处理事件上有更大的自由度。

其次,支持一个事件注册多个事件处理函数,也能够删除掉这些注册的事件处理函数。一个事件可以注册多个事件处理函数同样是大部分的编程语言的事件处理机制支持的方式。这种方式在面向对象的开发中尤为重要,因为可能很多对象都需要监听某一事件,有了这种方式,这些对象可以随时为这一事件注册一个事件处理函数,事件处理函数的注册是分散的,而不像在 DOM Level0 中,事件处理是集中式的,使用这种方式使得事件的“影响力”大大增强。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:掌握 Dojo 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接