我是Dojo的新手,并试图了解如何处理事件。似乎至少有3或4种不同的方法将事件绑定到元素。为了增加混乱,一些方法似乎已经被新v1.7弃用了,所以即使将我的网络搜索限制到最近几个月也无济于事。
让这个示例工作将是一个良好的开端(我还没想到的一件事是应该加载哪些模块):
但除此之外,我希望找到一个很好的参考。
答案 0 :(得分:3)
这是一个简化的工作示例。
// alert url when hover over link
require(["dojo/query", "dojo/on", "dojo/domReady!"], function(query, on) {
query("a").on("mouseover", function(evt) {
alert(evt.target.href);
});
});
http://jsfiddle.net/RichAyotte/sVJWY/6/
以下是forEach的示例。
require([
"dojo/query"
, "dojo/on"
, "dojo/domReady!"], function(query, on) {
query("a").forEach(function(node) {
on(node, "mouseover", function(event) {
alert(node.href);
});
});
});
http://jsfiddle.net/RichAyotte/sVJWY/7/
注意onmouseover - >鼠标悬停在代码中,或者您可以使用鼠标扩展名。
require(["dojo/on", "dojo/mouse"], function(on, mouse){
on(node, mouse.enter, hoverHandler);
});
答案 1 :(得分:2)
对于您的示例,这是dojo样式的正确javascript
require(["dojo/dom", "dojo/parser", "dojo/domReady!","dojo/on","dojo/query"],
function(dom,parser,domReady,on,query){
dojo.ready(function(){
query("a").forEach(function(node){
on(node,"mouseover", function(event){alert(node.href);});
});
});
});
您正在使用dojo查询模块,以及新AMD系统的dojo样式