j查询条件队列事件
jQuery conditional queue events
我有2个函数("编辑"和"保存"),它们是分别绑定到单击和模糊表格单元格的事件处理程序。基本上,"编辑"将单元格的内容替换为具有相同内容的输入,而保存则相反,两者都使用一些ajax调用来更新DB。
这很好用。问题是现在我想"链接"2个单元格,因此当我更改第一个单元格的值时,第二个单元格会根据第一个单元格的值进行更新。
这几乎是有效的,除了一种情况:假设我编辑单元格#1,对值进行一些更改,然后单击第二个。正在发生的事情是在单元格#1上触发模糊事件,调用"保存"函数,该函数使用新值使第一个单元格恢复到正常状态,并且还更改了单元格#2的值。
但是点击事件也会在单元格#2上触发,因为我刚刚点击了它,所以在"保存"完成并完成对单元格#2的更改之前,调用了"编辑"并开始处理。
我想要的是单元格#2上的"编辑"在开始之前等待保存完成,因此它将具有正确的值。
我读了一些关于在JS中同步事件等的东西......但到目前为止,我还没有成功地将其应用于我的问题。
谁能帮我?
谢谢
对于每个"编辑"操作,您可能应该应用一个前提条件,要求上一个"保存"操作(如果有)已完成。
例如:
$('...').click(function() {
// precondition
if(saveInProgress) return false;
// .. you code to switch to edit mode ...
});
$('...').blur(function() {
// precondition
if(saveInProgress) return false;
// AJAX call for saving
doSave();
});
var saveInProgress = false;
function doSave() {
saveInProgress = true;
$.ajax(...,
success: function() {
// ... your code ...
saveInProgress = false;
},
error: function() {
// ... your code ...
saveInProgress = false;
}
);
}
相关文章:
- 有没有一种方法可以将我的JS函数排队到JSF事件队列中
- jqm 忙时停止点击事件队列
- Angular 和 PhoneGap 事件队列
- 是发送到事件队列的承诺回调
- JavaScript事件队列和setTimeout(..)
- javascript点击事件队列
- NodeJS理解事件队列
- 其中是node.js事件队列
- 事件队列函数回调
- 是否可以在JavaScript中访问事件队列?
- PyV8:事件队列满
- JavaScript事件队列
- Internet Explorer 9拖拽事件阻塞事件队列
- 如何在事件队列中进行异步jsonp调用
- 理解node.js事件队列和process.nextTick
- 如何实现事件队列
- 当我们有多个settimeout时,javascript事件队列是如何工作的
- 了解 JavaScript 中的事件队列和调用堆栈
- 我如何让javascript服务事件队列在节点
- Javascript鼠标移动事件队列