如果不在更多全局空间中创建变量(或使用.data()
),是否可以访问在另一个回调中定义的变量(即open
)(即create
)?我知道以下内容不起作用,但不知道我的变量是否可以通过event
或ui
对象访问。从另一个回调中定义的访问变量
//var myVariable; //Without defining myVariable here or using data()
var dialog=$('#dialog').dialog({
create: function(event, ui) {
var myVariable=123;
},
open: function(event, ui) {
console.log(event, ui);
console.log(myVariable); //undefined
}
});
不,这是不可能的。正如你所怀疑的,你需要在两个函数都可以访问的范围中定义变量,或者使用其他一些存储机制,例如像你所建议的'data'。 –
谢谢先生们。我是这么认为的,但并不是100%肯定的。 – user1032531
实际上,**可能是**(hacky?)的方式 - 但这取决于事情的调用方式! –