具有不同函数调用的 dojo 多次点击

dojo multiple onclicks with different function calls

在将 Dojo 非 AMD JS 转换为 AMD 时,发现事件有困难 处理 我们有很多按钮,span & div's 有不同的事件和多个动作。 所以想知道我们应该使用 on 还是 connect 以及如何将它用于多元素事件?

 <span onclick="a.abShow(); t.T1(); p.show();">

 <span onclick="a.test(); setTimeout(a.test1(),100)">
 <td onclick="ab.test7(); t.test();">

 Button('gallery', 'e.Refresh();a.test();','');

 ........

您可以使用 dojo/on 模块轻松地对事件进行 运行 多项操作:

dojo/on is a general-purpose event handler module for DOM nodes and other event emitting objects, providing normalized event listening and event dispatching functionality.

https://dojotoolkit.org/reference-guide/1.10/dojo/on.html#dojo-on

require(['dojo/on', 'dojo/domReady!'], function (on) {

  on(dojo.byId('my-span'), 'click', function (e) {
    alert('I throw an alert');
    alert('And do it again');
    alert('And again');
  });

  on(dojo.byId('my-other-span'), 'click', function (e) {
    alert('I throw an alert');
    alert('And do it again');
    alert('And again');
  });

});
<script type="application/javascript" src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<span id="my-span">Click me!</span>
<span id="my-other-span">Click me too!</span>