注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

Dojo Module Study -- dojo/on  

2013-11-10 10:47:12|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

dojo/on是一个轻量级和快速响应的,基本现代浏览器事件模型的事件处理module。
如何使用?
require(["dojo/on"], function(on){
on(target, "event", function(e){
// handle the event
});
});
参数1:目标对象
参数2:事件名称
参数3:回调函数
返回 一个带有remove方法的Object,remove可以删除掉监听事件

require(["dojo/on", "dojo/_base/window"], function(on, win){
var signal = on(win.doc, "click", function(){ //为document注册click事件
console.log("click document");
signal.remove(); //删除监听事件
});
console.dir(signal); //测试返回对象
});

on.selector(selector, eventType, children);
该方法需要引入dojo/query
参数1:选择器
参数2:   事件类型
参数3:
Indicates if children elements of the selector should be allowed. This defaults to true

require(["dojo/on", "dojo/mouse", "dojo/query!css2"], function(on, mouse){
on(window.document, on.selector(".field-name", mouse.enter), function(){
console.log("mouse enter");
});
});

on.pausable(target, type, listener)
与on的作用一样,唯一不同的是它返回的对象有两个方法
pause() 和 resume(), pause()可以暂停事件,resume()可以恢复事件。
require(["dojo/on"], function(on){
var buttonHandler = on.pausable(button, "click", clickHandler);

on(disablingButton, "click", function(){
buttonHandler.pause();
});

on(enablingButton, "click", function(){
buttonHandler.resume();
});
});
on.once(target, type, listener);
只触发事件一次,这个方法非常的有用,在有些场合。

on的高级用法
1.与query方法一块使用

require(["dojo/query"], function(query){
query(".class").on("click", clickHandler);
});

2.监听多个事件

require("dojo/on", function(on){
on(element, "dblclick, touchend", function(e){
// handle either event
});
});

3.事件类型的新写法 <selector>:<eventType>
require(["dojo/on", "dojo/_base/window", "dojo/query"], function(on, win){
  on(win.doc, ".class:click", clickHandler);
});
参考资料: http://dojotoolkit.org/reference-guide/1.9/dojo/on.html#dojo-on
  评论这张
 
阅读(571)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017