如何访问“runit”和“property2”的值?
$("#selector").draggable({
property1: "myvalue",
property2: "myvalue",
property3: "myvalue",
start: function() {
var runit = 'one value';
},
stop: function(){
//Access Value of runit
//Acess Value of property2
}
});
答案 0 :(得分:4)
您无法从runit
访问stop()
,因为其范围仅限于start()
方法。您应该能够使用
property2
this.property2
你可以将runit
添加到对象的属性中,例如
{
property1: "myvalue",
property2: "myvalue",
property3: "myvalue",
runit: null,
start: function() {
this.runit = 'one value';
},
stop: function(){
console.log(this.runit);
console.log(this.property2);
}
}
一个可行的例子 - http://jsfiddle.net/9rZJH/
答案 1 :(得分:2)
要访问runit
,您需要在对象的范围之外定义它:
var runit;
$("#selector").draggable({
property1: "myvalue",
property2: "myvalue",
property3: "myvalue",
start: function() {
runit = 'one value';
},
stop: function(){
//Access Value of runit
console.log(runit);
//Acess Value of property2
console.log(this.property2);
}
});
property2
应该可以通过this.property2
访问,但这取决于内部调用stop方法的方式。
答案 2 :(得分:1)
另一种选择是返回runit
。我的意思是,这完全取决于你想要实现的目标:
start: function() {
var runit = 'one value';
// Stuff
return { runit: runit };
},
method: function(){
var foo = this.start().runit;
}