【发布时间】:2015-05-22 14:47:19
【问题描述】:
我正在尝试在回调函数中传递一个 DOM 元素,如下所示,但是回调函数外部(“成功”和“错误”)的变量输入值与回调函数内部不同。看起来某些属性在作为参数传递时被剥离,或者发生了一些多态性。
如何访问回调函数中的 DOM 元素?
$(":input").change(function() {
var DataObject = Parse.Object.extend("Data");
var data = new DataObject();
data.set($(this).id, $(this).val());
var input = $(this);
data.save({
success: function(input) {
// The save was successful.
console.log(input.val());
input.addClass("has-success has-feedback");
},
error: function(input, error) {
// The save failed. Error is an instance of Parse.Error.
console.log(error);
}
});
});
【问题讨论】:
-
你想在回调中访问哪个元素?
-
删除
input作为回调的参数。访问外部范围内的完全没问题。 -
哦,好的。我发誓我第一次这样做。谢谢你们。这给我们留下了一个问题,为什么变量在传递给函数时会发生变化。
-
因为它没有通过上面声明的那个。由于您使用参数
input定义该函数,因此它正在创建一个新的本地范围级别input。
标签: javascript jquery dom parse-platform jquery-callback