所以我有一个对象或数组,在任何事情开头声明的,外面的一切:我无法访问阵列/ OBJ以外的jQuery事件函数
var Thing = {title:'horse'};
然后我有: -
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); }
这将失败。但是,如果我将上述相同的控制台日志放在fadeOut之外,那就没问题了。
所以我有一个对象或数组,在任何事情开头声明的,外面的一切:我无法访问阵列/ OBJ以外的jQuery事件函数
var Thing = {title:'horse'};
然后我有: -
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); }
这将失败。但是,如果我将上述相同的控制台日志放在fadeOut之外,那就没问题了。
如果你想要某些东西是全局的,只需在window
对象上定义它即可。
window.Thing = { title: 'horse '};
然后使用它像这样:
$('.clickedIt').fadeOut(200, function() {
console.log(window.Thing.title);
});
不建议刚一说明,把一些变量上window
对象,我会建议寻找到名称间距:http://addyosmani.com/blog/essential-js-namespacing/
以下是一个示例:
//simple JavaScript module
(function(window) {
//define your applications root namespace
window.myApp = {
Thing: { title: 'horse '}
};
})(window);
//jQuery ready function
$(function() {
$('.clickedIt').fadeOut(200, function() {
console.log(myApp.Thing.title);
});
});
T他珍惜你分配给冠军马引号内未定义包裹它,使之弦litral,
var Thing = {title:'horse'};
$('.clickedIt').fadeOut(200, function() { console.log(Thing.title); })
它是如何失败? “fadeOut”在“Thing”方面被称为? – pimvdb 2012-08-17 15:54:22
你能为我们提供一个更完整的脚本吗?这里的问题很大程度上取决于“事情”的范围。 – jackwanders 2012-08-17 15:55:13