`
shirlly
  • 浏览: 1661069 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

DOJO学习摘要

    博客分类:
  • Dojo
阅读更多
dojo.event.connect

绑定指定的方法到指定的对象的方法上

Usage Example:

简单绑定1

function doOnClick1()
{
alert("Clicked!");
}
dojo.event.connect(dojo.byId("inputTest"),"onclick","doOnClick1");

简单绑定2

obj = { doOnClick2: function(){ alert("Clicked!");}}
dojo.event.connect(dojo.byId("inputTest"),"onclick",obj,"doOnClick2");

如果存在需要进行多个事件的绑定的时候,你就会看到dojo的方便之处了

obj2 = { doOnClick2: function(){alert("Clicked!");}}
dojo.event.connect(dojo.byId("inputTest"),"onclick",obj,"doOnClick2");
dojo.event.connect(dojo.byId("inputTest"),"onclick",obj2,"doOnClick2");

connect可以对任何对象的方法进行绑定,而不是只能针对DOM对象

dojo.event.connect(obj,"doOnclick2","doOnClick1"); //在调用obj.doOnclick2()后调用doOnClick1()


dojo.event.connectBefore

dojo.event.connect默认是后绑定,connectBefore则是早绑定,绑定的方法将在指定方法前执行,用法与connect一致

dojo.event.connectOnce
说起这个函数,还真的是让我想了半天,直觉上我就把它想象成executeOnce,结果测试的结果让我差点想不通
connectOnce就是指保证只绑定一次,来避免重复绑定会导致的重复执行的问题


dojo.event.disconnect

解除绑定,调用参数与connect一致,即可解除之前的绑定操作

dojo.event.browser.addListener

增加监听器

Usage Example:

function listener()
{
  alert("ok");
}
dojo.event.browser.addListener(document, 'mousedown', listener); //事件名称可以加上"on",也可以没有"on"
dojo.event.browser.addListener(document, 'onmousedown', listener, true); //capture为真表示不受上层元素的事件控制
dojo.event.browser.keys

键定义:
  KEY_BACKSPACE: 8,
  KEY_TAB: 9,
  KEY_ENTER: 13,
  KEY_SHIFT: 16,
  KEY_CTRL: 17,
  KEY_ALT: 18,
  KEY_PAUSE: 19,
  KEY_CAPS_LOCK: 20,
  KEY_ESCAPE: 27,
  KEY_SPACE: 32,
  KEY_PAGE_UP: 33,
  KEY_PAGE_DOWN: 34,
  KEY_END: 35,
  KEY_HOME: 36,
  KEY_LEFT_ARROW: 37,
  KEY_UP_ARROW: 38,
  KEY_RIGHT_ARROW: 39,
  KEY_DOWN_ARROW: 40,
  KEY_INSERT: 45,
  KEY_DELETE: 46,
  KEY_LEFT_WINDOW: 91,
  KEY_RIGHT_WINDOW: 92,
  KEY_SELECT: 93,
  KEY_F1: 112,
  KEY_F2: 113,
  KEY_F3: 114,
  KEY_F4: 115,
  KEY_F5: 116,
  KEY_F6: 117,
  KEY_F7: 118,
  KEY_F8: 119,
  KEY_F9: 120,
  KEY_F10: 121,
  KEY_F11: 122,
  KEY_F12: 123,
  KEY_NUM_LOCK: 144,
  KEY_SCROLL_LOCK: 145


dojo.event.browser.currentEvent

最近一次的Event,其属性包括:

altKey  //检查alt键的状态,当alt键按下时,值为 true
button  //检查按下的鼠标键,0 没按键,1 按左键,2 按右键,3 按左右键,4 按中间键,5 按左键和中间键,6 按右键和中间键,7 按所有的键
  //这个属性仅用于onmousedown, onmouseup, 和 onmousemove 事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)
clientX  //返回鼠标在窗口客户区域中的X坐标
clientY  //返回鼠标在窗口客户区域中的Y坐标
ctrlKey  //检查ctrl键的状态,当ctrl键按下时,值为 true
fromElement //检测 onmouseover 和 onmouseout 事件发生时,鼠标所离开的元素
keyCode  //检测键盘事件相对应的内码,仅当type为keydown,keyup,keypress时才有效
offsetX  //检查相对于触发事件的对象,鼠标位置的水平坐标
offsetY  //检查相对于触发事件的对象,鼠标位置的垂直坐标
propertyName //设置或返回元素的变化了的属性的名称,你可以通过使用 onpropertychange 事件,得到 propertyName 的值
screenX  //检测鼠标相对于用户屏幕的水平位置
screenY  //检测鼠标相对于用户屏幕的垂直位置
shiftKey //检查shift键的状态,当shift键按下时,值为true
srcElement //返回触发事件的元素
srcFilter //返回触发 onfilterchange 事件的滤镜
toElement //检测 onmouseover 和 onmouseout 事件发生时,鼠标所进入的元素
type  //返回没有“on”作为前缀的事件名,比如click, mousedown
x  //返回鼠标相对于css属性中有position属性的上级元素的x轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象
y  //返回鼠标相对于css属性中有position属性的上级元素的y轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象
target  //同srcElement
currentTarget
layerX  //同offsetX
layerY  //同offsetY
pageX  //无水平滚动条的情况下与clientX同
pageY  //无水平滚动条的情况下与clientY同
relatedTarget // 仅当type为mouseover,mouseout时才有效
keys  //与dojo.event.browser.keys相同,仅当type为keydown,keyup,keypress时才有效
charCode //键值,仅当type为keypress时才有效
分享到:
评论

相关推荐

    ajax与java程序设计学习摘要完整版

    ### AJAX与Java程序设计学习摘要知识点详解 #### 第二章 开发工具 ##### 1. Javascript源代码编辑器 - JSEclipse - **简介**:JSEclipse是InterAKT公司为Eclipse平台开发的一款免费插件,专门用于JavaScript代码...

    学习摘要第二章

    在学习“Ajax与Java高级程序设计”的过程中,第二章主要关注了开发工具的使用,包括JavaScript源代码编辑器、Dojo工具包的JavaScript压缩器、查看DOM结构的工具以及Ajax请求的调试方法。以下是这些工具的详细介绍: ...

    digidevcon-iks:适用于IBM Cloud的Kubernetes Coder Dojo

    使用留言簿应用程序学习Kubernetes 该留言簿示例显示了如何使用Kubernetes和Docker构建一个简单的多层Web应用程序。 该应用程序由Web前端,用于存储的Redis主服务器以及Redis从属的复制集组成,所有这些我们将为它们...

    特斯拉研究报告二:新科技综合体崛起

    这些举措表明,特斯拉正在成为一个集深度学习算法、人工智能芯片、大数据、超算、电芯、新能源、新材料等前沿技术于一体的综合体,类似于“丰田+英伟达+Waymo+宁德时代”的结合体。 3. **商业模式的创新**:特斯拉...

    70个流行的AJAX 应用演示和源码下载

    - **特点概述**:一款基于Dojo库的Python实现的多人在线象棋游戏。 - **应用场景**:适用于在线对弈平台、休闲娱乐网站等。 #### BackBase AJAX技术演示 - **技术亮点**:提供了多个演示案例来展示Backbase技术的...

    20201204-恒大研究院-科技行业特斯拉研究报告二:新科技综合体崛起.pdf

    报告摘要: 特斯拉维持全球新能源汽车龙头地位,连续五个季度实现盈利。2020年1-9月,特斯拉全球累计销量约31.7万辆,全球占比17.8%,超越大众和雷诺等传统汽车制造商,继续领跑新能源汽车市场。其中,Model 3累计...

Global site tag (gtag.js) - Google Analytics