http://jsfiddle.net/McGradi/ezUH9/
按我这样写是event02和event03同时执行。使用jquery的deferred,怎么做到event01->event02->event03按顺序执行?
或者更复杂的,event01->(event02,event03)->event04的顺序。
请高手指教,十分感谢!jquerydeferred
按我这样写是event02和event03同时执行。使用jquery的deferred,怎么做到event01->event02->event03按顺序执行?
或者更复杂的,event01->(event02,event03)->event04的顺序。
请高手指教,十分感谢!jquerydeferred
解决方案 »
- 请大家来集思广益,帮帮忙!
- Ext TextField 如何获取焦点后..立刻让其失去焦点
- 求点击"会员列表"按钮,弹出窗口可以选择的示例代码
- RegEle代码在FF运行不了
- ──━─━─━── Opera中如何触发事件? 在线等待 ──━─━─━──
- 你们都用过什么方式引入js,css等资源文件的呢?
- WEB报表问题,能不能实现打印时候表头内容变化?
- 100分求点击表头对Table进行排序的程序例子!!!
- 高分求解,触摸屏输入问题!!有什么好办法!自己写模拟键盘不知道怎么将键盘吗送给输入法?
- jquery表格插件datatable如何更换数据(重新加载别的数据)?
- 在没提交表单的情况下 如何动态获取表单的值呢?
- IE10 下如何保证离开iframe窗口仍能保持选中区?
var dfd = $.Deferred();
var task = function () {
alert('event01 success!');
dfd.resolve();
};
setTimeout(task, 1000);
return dfd.promise();
};
var event02 = function () {
var dfd = $.Deferred();
var task = function () {
alert('event02 success!');
dfd.resolve();
};
setTimeout(task, 5000);
return dfd.promise();
};
var event03 = function () {
var dfd = $.Deferred();
var task = function () {
alert('event03 success!');
dfd.resolve();
};
setTimeout(task, 2000);
return dfd.promise();
};
var event04 = function () { alert('event04 success!'); }
//$.when(event01()).done(function () { $.when(event02()).done(event03); })//event01->event02->event03 $.when(event01()).done(function () { $.when(event02(),event03()).done(event04); })//event01->(event02,event03)->event04
1.不过我感觉如果嵌套个6、7层倒是挺凌乱的。有没有办法写成多个语句,
比如event01->(event02,event03)->event04有没有办法表达成:
event01->(event02,event03);
(event02,event03)->event04;2.上面的情况只能处理一直链接下去的情况,对于这种情况(多了个event05)好像没法处理。
1.http://jsfiddle.net/McGradi/UJRUf/2.http://jsfiddle.net/McGradi/PyYLu/3.前两种情况都可以实现,但是最后这种情况还不知道怎么弄,我再折腾折腾
http://jsfiddle.net/McGradi/g3QWY/