web前端之dojo实际应用及开发二:事件处理(附有源码)
来源:互联网 发布:淘宝评价时间是多久 编辑:程序博客网 时间:2024/05/16 09:26
web前端之dojo实际应用及开发二:事件处理(附有源码)
现在我们开始学习dojo 中的事件处理:
附加函数到 DOM 事件(dojo.connect):
<html><head> <title>dojo</title></head><body><h1>dojo</h1><div id="message">This is a DIV element with id attribute message.</div><ul id="list"> <li>This is the first item in a list</li> <li class="highlight">This is the second item in a list</li> <li>This is the third item in a list</li></ul><script src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script><script>var message = dojo.byId("message");dojo.connect(message, "onclick", function() { alert(message.innerHTML);});</script></body></html>
不知道如何配置的查看上一篇
dojo.connect(哪个元素,对应的鼠标动作, function() { 需要运行的事件});
<html><head> <title>dojo</title></head><body><h1>dojo</h1><div id="message">This is a DIV element with id attribute message.</div><ul id="list"> <li>This is the first item in a list</li> <li class="highlight">This is the second item in a list</li> <li>This is the third item in a list</li></ul><script src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script><script>dojo.query("#list li").forEach(function(item) {//对每一个li进行下面操作 dojo.connect(item, "onclick", function() {//当前li被点击之后运行下面方法 dojo.style(item, { fontWeight: "bold" }); //也可以使用下面这种方式改变css样式 // dojo.query(item).style({ // fontWeight: "bold" // }); });});</script></body></html>
也可以书写成这样:
<html><head> <title>dojo</title></head><body><h1>dojo</h1><div id="message">This is a DIV element with id attribute message.</div><ul id="list"> <li>This is the first item in a list</li> <li class="highlight">This is the second item in a list</li> <li>This is the third item in a list</li></ul><script src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script><script>dojo.query("#list li").onclick(function(e) { dojo.style(e.target, { fontWeight: "bold" });});</script></body></html>
e.target不知道什么意思,学习资料上没有说,等我后续查到了,再来补充。如果有小伙伴知道的,请留言,我进行相应的修改。
dojo.connect连接其他函数:
<html><head> <title>dojo</title></head><body><h1>dojo</h1><div id="message">This is a DIV element with id attribute message.</div><ul id="list"> <li>This is the first item in a list</li> <li class="highlight">This is the second item in a list</li> <li>This is the third item in a list</li></ul><script src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script><script>function toggleImage() {}function callAjax() {}function handleResponse() {}dojo.connect(callAjax, toggleImage);dojo.connect(handleResponse, toggleImage);//这种书写相当于,以下:function toggleImage() {}function callAjax() { toggleImage();}function handleResponse() { toggleImage();}</script></body></html>
这样书写,一来方便后续开发的时候进行对应的修改,二来清晰明了,便于加强开发的逻辑
订阅与发布主题(dojo.subscribe、dojo.publish):
<html><head> <title>dojo</title></head><body><h1>dojo</h1><div id="message">This is a DIV element with id attribute message.</div><ul id="list"> <li>This is the first item in a list</li> <li class="highlight">This is the second item in a list</li> <li>This is the third item in a list</li></ul><script src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script><script>dojo.subscribe("printName", function(msg) { console.log("The person's name is: "+msg.first_name+" "+msg.last_name);});dojo.publish("printName", [ { first_name: "Joe", last_name: "Lennon" }]);</script></body></html>
首先dojo.subscribe订阅一个叫做“printName”的主题,其里面的内容为function(msg){}。然后dojo.publish进行发布“printName”的主题,dojo.subscribe传递里面相应的格式,dojo.publish针对于此对dojo.subscribe里面的参数一一赋值。
相关学习:
web前端之dojo实际应用及开发六:页面布局(附有源码)
web前端之dojo实际应用及开发五:丰富的用户界面(附有源码)
web前端之dojo实际应用及开发四:面向对象开发[关键](附有源码)
web前端之dojo实际应用及开发三:dojo.xhr* 增强 Ajax(附有源码)
web前端之dojo实际应用及开发二:事件处理(附有源码)
web前端之dojo实际应用及开发一:开始dojo(附有源码)
web前端之Dojo与jQuery综合比较分析
web前端之dojo(用javascript语言实现的开源DHTML工具包)
1 0
- web前端之dojo实际应用及开发二:事件处理(附有源码)
- web前端之dojo实际应用及开发一:开始dojo(附有源码)
- web前端之dojo实际应用及开发三:dojo.xhr* 增强 Ajax(附有源码)
- web前端之dojo实际应用及开发四:面向对象开发[关键](附有源码)
- web前端之dojo实际应用及开发五:丰富的用户界面(附有源码)
- web前端之dojo实际应用及开发六:页面布局(附有源码)
- Mobile Web前端开发系列: 事件处理(二)
- web前端之MVC的JavaScript Web富应用开发二:事件和监听
- dojo(二):事件处理
- web前端之精通dojo二:连接外部服务
- web前端之精通dojo五:利用Dojo进行DOM事件编程
- IOS开发之UIWebView实际应用(二)
- Mobile Web前端开发系列: 事件处理(一)
- Mobile Web前端开发系列: 事件处理(三)
- Mobile Web前端开发系列: 事件处理
- web前端之精通dojo三:载入Dojo
- Web开发基本概念之Dojo
- web前端开发之版本控制(缓存处理)
- 业务人员自助BI分析不够用,还要自助数据准备?
- 关于ViewTreeObserver的理解
- 自定义弹窗控件
- js获取url参数
- phpstrom 字体样式的设置
- web前端之dojo实际应用及开发二:事件处理(附有源码)
- 方法的重写与super以及重写与重载的区别
- css选择器
- android 数据存储--SharedPreferences
- 获取真实IP的几种方式
- 项目管理利器(Maven)——Maven的生命周期
- 华为任正非强烈推荐的一篇爆文:以色列崛起之谜!
- laravel基于SMTP邮件实现
- C语言宏定义