gpt4 book ai didi

javascript - 将 DOM 元素传递到回调函数中

转载 作者:行者123 更新时间:2023-12-03 10:05:01 25 4
gpt4 key购买 nike

我尝试在回调函数中传递 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);
}
});
});

最佳答案

当我将参数传递给回调函数(而不是让它使用外部作用域变量)时,我使用绑定(bind),它对于更改函数的“this”对象也很有用。

所以会是:

  data.save({
success: function(__input__parameter) {
// The save was successful.
console.log(__input__parameter.val());
__input__parameter.addClass("has-success has-feedback");
}.bind(null, input),

error: function(__input__parameter, error) {
// The save failed. Error is an instance of Parse.Error.
console.log(__input__parameter, error);
}.bind(null, input)
})

关于javascript - 将 DOM 元素传递到回调函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30399754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com