使用自定义事件怎么样?像这样的东西:
var CustomEvent = function() {
this.eventName = arguments[0];
var eventAction = null;
this.subscribe = function(fn) {
eventAction = fn; // you can customize this to hold array of handlers
};
this.fire = function(sender, eventArgs) {
if (eventAction != null) {
eventAction(sender, eventArgs);
} else {
alert('No ' + mEventName + ' handler!');
}
};
};
现在您可以定义如下内容:
var myEvent = new CustomEvent("Framework Loaded");
myEvent.subscribe(function(sender, eventArgs) {
alert('Framework loaded! Hurray!');
// jQuery goes here
});
并且在加载例如 jQuery 的框架后,您只需执行以下操作:
myEvent.fire(null, { framework: 'jQuery' });
(您应该将代码放在 XHR 处理程序中的某个位置)。
此外,如果您在 DOM 加载后触发它,那么您可以忘记 jQuery 的$(document).ready(...)
包装器。