Javascript dojo/on或dojo/connect不工作
我尝试使用Dojo框架,但不能在href或其他元素上使用处理程序(事件)。谢谢Javascript dojo/on或dojo/connect不工作,javascript,events,dojo,connect,handlers,Javascript,Events,Dojo,Connect,Handlers,我尝试使用Dojo框架,但不能在href或其他元素上使用处理程序(事件)。谢谢 HTML: <a class="one" href="#">text_one</a> <a id="two" href="#">text_two</a> JS: require( ["dojo/query", "dojo/_base/connect", "dojo/on", "weather/handlers", "dojo/domReady!"],
HTML:
<a class="one" href="#">text_one</a>
<a id="two" href="#">text_two</a>
JS:
require(
["dojo/query", "dojo/_base/connect", "dojo/on", "weather/handlers", "dojo/domReady!"],
function(query, connect, on){
var test = new weather.handlers;
test.getCities();
query(".one").forEach(function(node, index, nodelist){
on(node, "onClick", function(evt){
console.log("one clicked!");
})
});
query('#two').on('onClick',function(){
console.log('two clicked!');
})
}
);
HTML:
JS:
要求(
[“dojo/query”、“dojo/_base/connect”、“dojo/on”、“weather/handlers”、“dojo/domReady!”],
功能(查询、连接、打开){
var测试=新的weather.handlers;
test.getCities();
查询(“.one”).forEach(函数(节点、索引、节点列表){
on(节点“onClick”,函数(evt){
log(“点击一次!”);
})
});
查询('#two')。on('onClick',function(){
log('two clicked!');
})
}
);
要侦听的DOM事件的名称是单击
,而不是单击
。使用dojo/on
在DOM元素上侦听onClick
,将不起任何作用
如果要为多个同质元素连接事件处理程序,可能还需要阅读教程中的事件委派。dom事件
onClick
是在Dojo 1.7之前使用的,Dojo 1.7使用了Dojo.connect
来注册事件侦听器。
例如:
dojo.connect(node, "onclick", callback)
但是从Dojo 1.7开始
引入了一个新的轻量级Dojo/on模块,该模块使用以下语法:
on(nodel, "click", callback)
上的前缀被删除,而onclick
变成了click