我将如何公开以下两个功能以进行全局访问? functionWithinOnReady();
和handleSomething();
在theme
的范围内,我可以通过以下方式触发函数:
theme.handleSomething();
theme.functionWithinOnReady();
假设我需要从第三个脚本(/ global)触发函数,我将如何以最佳方式解决这个问题?
(function($) {
"use strict";
var theme = {
onReady : function(){
functionWithinOnReady = function() {
//want to access this globally
}
},
handleSomething: function() {
//want to access this globally
},
onLoad : function() { },
onResize : function() { }
};
$(document).ready( theme.onReady );
$(window).load( theme.onLoad );
$(window).resize( theme.onResize );
})(jQuery);
答案 0 :(得分:1)
您可以将theme
附加到窗口(全局)或jQuery
(function($) {
"use strict";
$.theme = {
onReady : function(){
functionWithinOnReady = function() {
//want to access this globally
}
},
handleSomething: function() {
//want to access this globally
},
onLoad : function() { },
onResize : function() { }
};
$(document).ready( $.theme.onReady );
$(window).load( $.theme.onLoad );
$(window).resize( $.theme.onResize );
})(jQuery);
现在您可以在任何地方访问$.theme
,如果它应该在jQuery集合中使用,您可以使用$.fn.theme
对其进行原型设计。