dojo1.9学习总结(三)-事件绑定
来源:互联网 发布:广州新梦想网络骗局 编辑:程序博客网 时间:2024/05/28 17:05
源代码:
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><%String path = request.getContextPath();// 获得项目完全路径(假设你的项目叫MyApp,那么获得到的地址就是 http://localhost:8080/MyApp/): String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" type="text/css"href="<%=basePath%>dojo/dijit/themes/soria/soria.css"><link rel="stylesheet" type="text/css"href="<%=basePath%>dojo/dojo/resources/dojo.css" /><link rel="stylesheet" type="text/css"href="<%=basePath%>dojo/dojox/grid/resources/soriaGrid.css" /><style type="text/css">body,html {font-family: helvetica, arial, sans-serif;font-size: 90%;}th {font-size: 13px;font-family: Arial, Microsoft YaHei, SimSun, sans-serif !important;text-align: center;}td {font-size: 13px;font-family: Arial, Microsoft YaHei, SimSun, sans-serif !important;}div #copyright {text-align: center}</style></head><script type="text/javascript" src="<%=basePath%>dojo/dojo/dojo.js"djConfig="parseOnLoad:true"></script><script type="text/javascript">dojo.require("dijit.layout.ContentPane");dojo.require("dijit.layout.BorderContainer");dojo.require("dijit.layout.AccordionContainer");dojo.require("dijit.layout.TabContainer");dojo.require("dijit.form.Button");dojo.require("dijit.Dialog");dojo.require("dojo.parser");</script><script type="text/javascript">//利用dojo.connect和dojo.disconnect来进行事件绑定var handler = null;function connect() {var btn1 = dojo.byId("btn1");var btn2 = dojo.byId("btn2");var span = dojo.byId("span1");handler = dojo.connect(btn1, "onclick", function(evt) {dojo.style(span, "backgroundColor", "green");});}function disconnect() {var span = dojo.byId("span1");dojo.disconnect(handler);dojo.style(span, "backgroundColor", "blue");}//还可以这样用dojo.connectfunction connect1() {var span = dojo.byId("span1");//这里只能使用dojo.query,使用dojo.byId("btn1")会出错handler = dojo.query("#btn1").connect("onclick", function(evt) {dojo.style(span, "backgroundColor", "red");});}//可以利用dojo.stopEvent()和evt.preventDefault()来阻止浏览器处理DOM事件//还可以connect一个var对象中的事件function connect2() {var btn1 = dojo.byId("btn1");var btn2 = dojo.byId("btn2");var myObject = {id : "myObject",onClick : function(evt) {alert("the scope of this handler is " + this.id);}};dojo.connect(btn1, "onclick", myObject.onClick);//注意这里的第三个参数myObject,表明了绑定事件的context(上下文),默认情况下不用此参数dojo.connect(btn2, "onclick", myObject, myObject.onClick);}//publish/subscribefunction subscribe() {//直接订阅信息,但不针对某个具体的目标handler = dojo.subscribe("hi", function(evt) {alert(evt);});}function alertUser() {var text = [ "i am alert you" ];//直接发布消息,但不针对某个具体的目标dojo.publish("hi", text);dojo.unsubscribe(handler);}function anotherAlert() {var text = [ "i am another alert you" ];//直接发布消息,但不针对某个具体的目标 dojo.publish("hi", text);}dojo.ready(subscribe);</script><body class="soria"><div id="container"><button id="btn1" data-dojo-type="dijit.form.Button">click me</button><button id="btn2" data-dojo-type="dijit.form.Button"data-dojo-props="onClick:disconnect">disconnect</button><span id="span1">this is text</span> <br /><button id="alertButton" data-dojo-type="dijit.form.Button"data-dojo-props="onClick:alertUser">alert the user</button><button id="createAlert" data-dojo-type="dijit.form.Button"data-dojo-props="onClick:anotherAlert">another</button></div></body></html>
效果
0 0
- dojo1.9学习总结(三)-事件绑定
- dojo1.1.0学习总结--Gird绑定JSON数据案例
- dojo1.9学习总结(二)-DOM操作
- dojo1.9学习总结(四)-函数上下文
- dojo1.9学习总结(一)-layout
- dojo1.1.0学习总结--简单登陆案例
- dojo1.1.0学习总结--注册案例
- dojo1.1.0学习总结--在线编辑器案例
- dojo1.1.0学习总结--简单表格案例
- Dojo初探之4:dojo的event(鼠标/键盘)事件绑定操作(基于dojo1.11.2版本)
- jQuery事件绑定(三)
- jquery 学习总结(三) 事件
- jQuery事件绑定方法学习总结
- 从Dojo1.6到Dojo1.8(二)—— 基本模块,事件,约定,DOM操作
- 从Dojo1.6到Dojo1.8(三)—— Parser,Dijit,DojoX
- dojo1.1.0学习总结--简单对话框登陆案例
- dojo1.1.0学习总结--JSON数据对象案例
- Dojo初探之5:dojo的request(请求)操作、请求过程事件绑定和隐藏数据data()操作(基于dojo1.11.2版本)
- 一个人,一座城
- Ejb到底是什么
- uboot移植过程中的运行地址和装载地址的区别
- SourceInsight3.5打开工程提示不能写,然后SI退出
- 你所不知道的五件事情--java.util.concurrent(第二部分)
- dojo1.9学习总结(三)-事件绑定
- R语言之矩阵操作和运算
- PAT 1014. 福尔摩斯的约会 (20)
- Android组件TextView实现字体水平滚动
- 如何确定两个区间是否有交集?
- (13)Java笔记之JDK7特性简述
- 西藏难题
- 浅谈Java中的Set、List、Map的区别(1)
- Linux学习之socket编程