javascript 按钮的前后置逻辑设计求解

flashrhx2010 2014-10-24 01:22:03
我有一个按钮
<button id="but">执行程序</button>


它在HTML加载完后可能会被加入Click等事件。

$("#but").click(function () {
$.ajax({url:"cba.php", function () {
//next();
}});
});


事件中会有同步代码也有可能有异步代码,如 $.ajax(); 。

我现在要实现按钮的前置逻辑和后置逻辑。 我用编号来代替要执行的代码, 如
<button id="but" afterAction="002" beforeAction="001">执行程序</button>


然后我有一个配置表来定义编号执行的function
[
{"Number":"001", "Code": "function () { $.get("abc.php", function (data) { if (data=='ok') { //next(); } else alert('不能执行'); }); }"},
{"Number":"002", "Code": "function () { location.href='ok.html'}"}
]


最后我想实现的效果是:
执行001代码, 代码是一个异步处理,如果成功,在next() 这里继续执行该按钮的 Click事件,Click执行完后,又再Click代码的next位置执行 002编号的代码。

大致就这个意思。 因为javascript 很多都是异步回调操作, 想做这么一个流程小弟有点没有想法。请大师指点,或者是否有其他更好的类似执行过程。
...全文
182 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
XZowie 2014-10-24
  • 打赏
  • 举报
回复
請參考使用 promise 概念
Go 旅城通票 2014-10-24
  • 打赏
  • 举报
回复
楼主的click事件 <button id="but" afterAction="002" beforeAction="001">执行程序</button>是要在beforeAction执行完在执行,然后执行完click后执行afterAction? 这逻辑有点乱。。
wide288 2014-10-24
  • 打赏
  • 举报
回复
可以希望,加上判断就好。if 在同步的方法 click 中加上异步调用也可以。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧