当前位置 : 主页 > 网页制作 > Dojo >

使用 Dojo 处理 DOM 事件

来源:互联网 收集:自由互联 发布时间:2021-06-15
当 Dojo 运行在支持 DOM Level2 事件模型的浏览器中时,Dojo 只是把事件处理委托给浏览器来完成。而在与 DOM Level2 的事件模型不兼容的浏览器(比如 IE)中,Dojo 会尽量使用浏览器的 API 模


当 Dojo 运行在支持 DOM Level2 事件模型的浏览器中时,Dojo 只是把事件处理委托给浏览器来完成。而在与 DOM Level2 的事件模型不兼容的浏览器(比如 IE)中,Dojo 会尽量使用浏览器的 API 模拟 DOM Level2 中的事件处理函数。 Dojo 最终提供给开发者一个称为“简单连接”的事件处理机制来处理 DOM 事件。

为什么叫“简单连接”呢,因为绑定事件处理函数的函数名叫 dojo.connect,相应的注销的函数是 dojo.disconnect 。

  • dojo.connect = function(/*Object|null*/ obj, /*String*/ event, /*Object|null*/ context, /*String|Function*/ method, /*Boolean*/ dontFix)

    参数 obj 事件源对象,比如 DOM 树中的某一节点; event 参数表示要连接的事件名,如果是 dojo.global(在浏览器中一般是 window 对象)域上的事件,则 obj 参数可以置为 null,或者不写。 context 指事件处理函数所在的域(比如一个对象); method 表示事件处理函数名,如果是全局函数,则 context 参数可置为 null,或者不写这个参数; dontFix 表示不需要处理浏览器兼容的问题,默认为 false ;如果你的应用只在支持 DOM Level2 事件模型的浏览器上运行,则可以把它设为 true,但是这种几率太小了,因为 IE 就不是完全支持 DOM Level2 事件模型。 dojo.connect 函数可以返回一个 handle,在 dojo.disconnect 中会用到。

  • dojo.disconnect = function(/*Handle*/ handle)

    dojo.disconnect 函数用来注销已注册的事件处理函数,参数是一个 dojo.connect 时返回的 handle 。

网友评论