在使用dojo 1.7和AMD加载程序为DataGrid捕获事件时,是否希望使用dojo/on?
我正在转换一个Dojo 1.6.1 DataGrid示例,以使用Dojo 1.7中的AMD加载程序,并尝试以“1.7方式”进行操作 目前,我有在使用dojo 1.7和AMD加载程序为DataGrid捕获事件时,是否希望使用dojo/on?,dojo,dojox.grid.datagrid,Dojo,Dojox.grid.datagrid,我正在转换一个Dojo 1.6.1 DataGrid示例,以使用Dojo 1.7中的AMD加载程序,并尝试以“1.7方式”进行操作 目前,我有dojo.connect(grid,“onApplyEdit”,applyEdit)但我想将其转换为使用dojo/on 我想简单地转换成on(网格,“onApplyEdit”,applyEdit)可能会起作用,但不会 我注意到,对于一些on()示例,事件名称是常规dom事件,如单击 网格的事件名称是否已更改,或者dojo/on是否未准备好处理非DOM事件,
dojo.connect(grid,“onApplyEdit”,applyEdit)代码>但我想将其转换为使用dojo/on
我想简单地转换成on(网格,“onApplyEdit”,applyEdit)代码>可能会起作用,但不会
我注意到,对于一些on()示例,事件名称是常规dom事件,如单击
网格的事件名称是否已更改,或者dojo/on是否未准备好处理非DOM事件,或者DataGrid是否尚未更新以发出on()事件?dojo.on
可处理DOM和浏览器相关事件。非DOM和非浏览器事件是简单的方法调用。您可以使用AOP连接到它们。请参阅dojo/aspect.js
了解更多详细信息:我是这样工作的:
var signal = dojo.on( grid4, 'ApplyCellEdit', function(inValue, inRowNdx, inStoreNdx){..});
在上面的例子中,我会使用aspect.after(grid,“doApplyEdit”,applyEdit),因为这是网格上显示的“do”方法吗?是的,为什么不呢。因为伪事件通常没有主体,所以可以使用任何您喜欢的AOP方法。如果您希望链处理程序采用FIFO方式,如dojo.connect
dojo.connect,则“after”是您的票证。