Dojo初探之4:dojo的event(鼠标/键盘)事件绑定操作(基于dojo1.11.2版本)
前言:
上一章详解了dojo的dom/query操作,本章基于dom/query基础上进行事件绑定操作
dojo的事件
dojo的事件绑定操作分为鼠标和键盘两种进行详解
1、鼠标事件
我们沿用上一章中所使用的方法进行事件绑定
(1)事件绑定操作:on(页面元素,事件,绑定方法)
// domConstruct.place(操作的元素, 父元素, "位置");位置:first,before,after require(["dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(domConstruct, on) { function moveFirst() { var list = dom.byId("list"), three = dom.byId("three"); domConstruct.place(three, list, "first"); } function moveBeforeTwo() { var two = dom.byId("two"), three = dom.byId("three"); domConstruct.place(three, two, "before"); } function moveAfterFour() { var four = dom.byId("four"), three = dom.byId("three"); domConstruct.place(three, four, "after"); } function moveLast() { var list = dom.byId("list"), three = dom.byId("three"); domConstruct.place(three, list); } //绑定事件 on(dom.byId("moveFirst"), "click", moveFirst); on(dom.byId("moveBeforeTwo"), "click", moveBeforeTwo); on(dom.byId("moveAfterFour"), "click", moveAfterFour); on(dom.byId("moveLast"), "click", moveLast); function destroyFirst() { var list = dom.byId("list"), items = list.getElementsByTagName("li"); if (items.length) { //清除某个元素 domConstruct.destroy(items[0]); } } function destroyAll() { //清空父类下的子元素 domConstruct.empty("list"); } // 给id为destroyFirst的元素绑定一个点击事件 on(dom.byId("destroyFirst"), "click", destroyFirst); // 给id为destroyAll的元素绑定一个点击事件 on(dom.byId("destroyAll"), "click", destroyAll); });
(2)页面:
<head> <title>domTest</title> <meta charset="utf-8"> <script src="dojo/dojo.js"> </script> <script src="js/view/domTest.js"></script> </head> <body> <ul id="list"> <li id="one">One</li> <li id="two">Two</li> <li id="three">Three</li> <li id="four">Four</li> <li id="five">Five</li> </ul> <button id="moveFirst">The first item</button> <button id="moveBeforeTwo">Before Two</button> <button id="moveAfterFour">After Four</button> <button id="moveLast">The last item</button> <button id="destroyFirst">Destroy the first list item</button> <button id="destroyAll">Destroy all list items</button> </body>
2、键盘事件
(1)绑定键盘事件
var dom = require("dojo/dom"); require(["dojo/on", "dojo/domReady!"], function(on) { //给document绑定一个松开按键的事件 on(document, "keyup", function(event) { //把当前按键的值给id为keyCode的元素 dom.byId("keyCode").value = event.keyCode; }); }); require(["dojo/dom-construct", "dojo/on", "dojo/query", "dojo/keys", "dojo/domReady!"], function(domConstruct, on, query, keys) { //给input并且类型是text的标签绑定一个键盘按下事件 query("input[type='text']").on("keydown", function(event) { switch (event.keyCode) { case keys.UP_ARROW: event.preventDefault(); alert("上"); break; case keys.DOWN_ARROW: event.preventDefault(); alert("下"); break; case keys.ENTER: alert("回车"); break; default: alert("其他按键: " + event.keyCode); } }); });
(2)页面
<head> <title>键盘事件测试</title> <meta charset="utf-8"> <script src="dojo/dojo.js"> </script> <script src="js/view/keyeventTest.js"> </script> </head> <body> <h1>按任意键</h1> keyCode value: <input type="text" id="keyCode" size="2"> <h1>按方向键上、下</h1> <input type="text" id="input1" value="up"> <input type="text" id="input2" value="down"> <input type="submit" id="send1" value="send"></body>
下一章将讲解dojo如何发送ajax请求
Dojo初探之4:dojo的event(鼠标/键盘)事件绑定操作(基于dojo1.11.2版本)的更多相关文章
- Dojo初探之3:dojo的DOM操作、query操作和domConstruct元素位置操作(基于dojo1.11.2版本)
前言: 前面两章讲了dojo的基本规范和配置,当然这个配置不是必须的,当你有这需求的时候就可以用到dojo的config配置. dojo的所有js都是符合AMD规范进行异步加载的:http://blo ...
- Dojo初探之5:dojo的request(请求)操作、请求过程事件绑定和隐藏数据data()操作(基于dojo1.11.2版本)
前言: 上一章详细阐述了dojo的事件绑定操作,本章将讲解dojo的请求操作 注:dojo的请求操作与js和jquery完全不同! 1.dojo的请求 dojo通过request.get()/.put ...
- JS基础内容小结(event 鼠标键盘事件)(三)
var ev=ev||event 兼容性处理 得到焦点为 onfocus 失去焦点 onblur return false能阻止部分函数的执行 obj.select 选择指定元素里的文本内容 ———— ...
- Linux 模拟 鼠标 键盘 事件
/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...
- Python——pyHook监听鼠标键盘事件
pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...
- QT 11 鼠标键盘事件添加
鼠标事件 void mousePressEvent(QMouseEvent *event); //单击 void mouseReleaseEvent(QMouseEvent *event); //释放 ...
- 【转】Qt鼠标键盘事件
http://blog.csdn.net/lovebird_27/article/details/50351336 Qt 程序需要在main()函数创建一个QCoreApplication对象,然后调 ...
- Tkinter 鼠标键盘事件(一)
一: 鼠标事件 <Button-1> 鼠标左键单击 ...
- Python - selenium_WebDriver 鼠标键盘事件
from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_cha ...
随机推荐
- Extjs6(特别篇)——项目自带例子main.js拆分详解
本文基于extjs6.0.0 一.拆分代码来看看 1.主页面main是个tab页: 写一些页面的依赖: 标明页面的controller和viewModel Ext.define('Learning.v ...
- STM32、Cortex-A、Cortex-R、Cortex-M、SecurCore
STM32是就是基于Cortex-M3这个核生产的CPU. arm7是arm公司推出的以V4指令集设计出来的arm核--其代表的芯片有s3c44b0 arm9是arm公司推出的以V5指令集设计出来的a ...
- .NET遇上Docker - Docker集成Cron定时运行.NETCore(ConsoleApp)程序.md
配置项目的Docker支持 对于VS中Docker的配置,依旧重复一些废话. 给项目添加Docker支持,VS2015可以直接使用Docker for VS插件,VS2017在安装时选择容器支持.VS ...
- JQuery 通过方向键控制div上下左右移动
在CSS中当DOM元素的position属性为absolute或relative时,我们可以通过改变这个元素的left和top属性的具体值来控制元素在页面中显现的位置. 利用上述属性,我们可以简单实现 ...
- 【算法系列学习】codeforces C. Mike and gcd problem
C. Mike and gcd problem http://www.cnblogs.com/BBBob/p/6746721.html #include<iostream> #includ ...
- 在myeclipse下安装svn插件,出现了Could not generate DH keypair,这么一个错误。
解决方法: window-->preferences-->Team-->SVN-->SVN接口 选择:JavaHL 去https://sliksvn.com/download/ ...
- Firefox实用插件记录
之前总结过一个软件推荐的小文,用来记录一直以来在软件开发过程中遇到的各种实用的软件.后来发现里面越来越多的记录了Firefox的插件,所以今天决定单独抽出一个页面来记录Firefox的插件.因为平时大 ...
- Linux系统管理10——进程和计划任务管理
Linux系统管理10——进程和计划任务管理 一.程序和进程的关系 1.程序 ·保存在硬盘.光盘等介质中的可执行代码和数据 ·静态保存的代码 2.进程 ·在CPU及内存中运行的程序代码 ·动态执行的代 ...
- 全景智慧城市——NOW!!!VRSHOPPING颠覆你的购物认知!
互联网+时代,人们对现有的网络资源已经不再感冒,一般的图片.文字信息已经无法满足人们对互联网的需求,虚拟现实.身临其境的体验是不可小觑的发展趋势,尤其是VR逛街.购物,更会深入人心,再次改变人们的生活 ...
- ZooKeeper监听机制
前言:Zookeeper的监听机制很多人都踩过坑,感觉实现了watcher 接口,后面节点的变化都会一一推送过来,然而并非如此. Watch机制官方声明:一个Watch事件是一个一次性的触发器,当被设 ...