这不是 AJAX 请求/响应回调问题...
我正在使用Dojo 1.5构建一个网格。我尝试使用一个函数来扩展/收缩dojo.connect
按钮。我的问题是,grid.startup()
方法在被调用之后似乎需要一段时间才能创建实际的DOM节点,因此当我调用dojo.query
时,我想要连接事件和处理程序的DOM节点都不存在。
我在init()
方法中创建网格,dojo.addOnLoad()
调用该方法,connectExpandos()
方法通过dojo.connect("init", connectExpandos);
连接到init()
。这执行得很好,但我需要在while循环中执行setTimeout()
,以等待grid.startup()完成...
有人知道更好的方法吗?也许是一个grid.startup()
回调我可以挂钩?
4条答案
按热度按时间anhgbhbe1#
另一个建议...看起来像是“startup”函数,它是在DataGrid的超类_Grid(http://svn.dojotoolkit.org/src/dojox/trunk/grid/* Grid.js*)中实现的,调用了一个名为render的函数,我相信它实际上是呈现网格的内容。随后,看起来像是render在完成呈现之后调用了一个方法“postrender”。也许你可以将你的方法连接到“postrender”方法,而不是“startup”。
9fkzdhlc2#
我认为您要查找的回调是_onFetchComplete
5sxhfpxr3#
我想你可以把一个事件和网格启动方法联系起来
字符串
mpgws1up4#
您可以尝试以编程方式创建小部件(假设您还没有),然后在调用startup()之后调用方法(手动调用startup()似乎有点奇怪,但源代码注解中的示例显示了手动调用grid.startup())。