Extjs商店更新事件被触发到最晚

时间:2011-12-27 16:12:48

标签: javascript extjs extjs3

我遇到的情况是我在窗口面板中使用EditorGrid。

窗口面板底部工具栏中有一个保存按钮。

在一个场景中,用户编辑网格,一旦完成,点击保存按钮,而不会在按钮点击之前从网格中失去焦点。

我注意到在IE上,事件下巴的触发方式与FF或Chrome不同。

用户点击保存按钮后会触发商店更新事件,结果是商店没有反映网格的最新更改。

我已经在IE和FF的开发者工具上记录了这些事件:

IE:EVENTS TIME LINE

  

日志:orderGrid1-beforeedit

     

日志:存储更新

     

日志:orderGrid1-afteredit

     

日志:orderGrid1-beforeedit

     

日志:存储更新

     

日志:orderGrid1-afteredit

     

日志:orderGrid1-beforeedit

     

日志:saveButton-click

     

日志:商店更新 - 请注意点击事件后发生这种情况!!!

     

日志:orderGrid1-afteredit

FF:活动时间线

  

orderGrid1-beforeedit

     

存储更新

     

orderGrid1-afteredit

     

orderGrid1-beforeedit

     

存储更新

     

orderGrid1-afteredit

     

orderGrid1-beforeedit

     

存储更新

     

orderGrid1-afteredit

     

orderGrid1-beforeedit

     

saveButton-鼠标悬停

     

商店更新 - 请注意,此事件发生在按钮点击事件之前

     

orderGrid1-afteredit

     

parseStoreToOrderLines

     

saveButton点击

请帮助!!! :)

2 个答案:

答案 0 :(得分:2)

这可能是因为编辑事件在超时内被触发,而点击事件被触发  直接或它在IE中具有更高的优先级。可能的检查方法:设置保存按钮的延迟(可能甚至1毫秒就足够了)。如果它没有帮助,您可以在beforeedit事件后始终禁用保存按钮,并在afteredit事件后启用。

答案 1 :(得分:0)

可能是因为单击该按钮不会导致编辑的单元格立即失去焦点。

尝试在按钮单击处理程序中调用“endEdit()”来解决此问题。