我正在创建一个自定义 JS 对象。这个对象执行一些action
. 我希望能够通知消费者action
将要执行并且 action
已经执行的对象(通过触发自定义事件)。(这种行为模型在控件具有onBeforeAction
和onAfterAction
事件的 ASP.NET 中是已知的)。
棘手的部分是我希望消费者能够停止/中断事件序列。
这是所需行为的算法(在 Human# 中):
this.trigger('onBeforeAction'); 如果(!onBeforeAction.wasCanceled){ this.doAction(); this.trigger('onAfterAction'); }
在我的对象中拥有此功能将允许消费者执行以下操作:
$(myIntance).bind('onBeforeAction', function(){ if (!someCondition.satisfied) 返回假; 返回真; }); $(myIntance).bind('onAfterAction', function(){ // 在这里响应动作 });
关于如何实现“可控”事件序列的任何想法都会很棒。
提前致谢。
// R