我有一种情况,我在窗口面板中使用 EditorGrid。
窗口面板在底部工具栏中有一个保存按钮。
在一种情况下,用户编辑网格并在完成后点击保存按钮,而不会在单击按钮之前失去对网格的关注。
我注意到在 IE 上触发事件 chin 的方式与在 FF 或 Chrome 上不同。
商店更新事件在用户点击保存按钮后触发,结果是商店没有反射(reflect)网格的最新更改。
我已经在IE和FF的开发者工具上记录了事件:
IE:事件时间线
LOG: orderGrid1-beforeedit
LOG: store-update
LOG: orderGrid1-afteredit
LOG: orderGrid1-beforeedit
LOG: store-update
LOG: orderGrid1-afteredit
LOG: orderGrid1-beforeedit
LOG: saveButton-click
LOG: store-update - NOTICE THAT THIS OCCURRED AFTER THE CLICK EVENT !!!
LOG: orderGrid1-afteredit
FF:事件时间线
orderGrid1-beforeedit
store-update
orderGrid1-afteredit
orderGrid1-beforeedit
store-update
orderGrid1-afteredit
orderGrid1-beforeedit
store-update
orderGrid1-afteredit
orderGrid1-beforeedit
saveButton-mouseover
store-update - NOTICE THAT THIS EVENT OCCUR RES BEFORE THE BUTTON CLICK EVENT
orderGrid1-afteredit
parseStoreToOrderLines
saveButton-click
请帮忙!!! :)
最佳答案
发生这种情况可能是因为在超时内触发了编辑事件,而触发了点击事件 直接或者它在 IE 中有更高的优先级。可能的检查解决方案:为保存按钮设置延迟(可能甚至 1 毫秒就足够了)。如果它没有帮助,您始终可以在 beforeedit 事件之后禁用保存按钮并在 afteredit 事件之后启用。
关于javascript - Extjs 商店更新事件被延迟触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646724/