Dojo 使用不同的函数调用进行多次点击



在将Dojo Non-AMD JS转换为AMD时,发现事件有困难 处理我们有许多按钮,span 和div 具有具有多个操作的不同事件。所以想知道我们应该使用 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 是 DOM 节点和其他事件发出对象的通用事件处理程序模块,提供规范化的事件监听和事件调度功能。

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>

最新更新