如下所示,我将一个变量从 inputclass
回调传递到 validate
回调。
是否可以在不使用全局变量的情况下完成此操作,以便在将 jQuery 插件应用到给定元素时它将是实例的本地变量?
$('#name').editable({
inputclass: function() {
globalVariable=this;
},
validate: function (value) {
console.log(globalVariable);
return 'pause';
}
});
最佳答案
由于inputclass()和validate()中的this引用的是不同的元素,所以共享数据有点麻烦。我的想法也是使用 data(),但是要将数据从 inputclass() 传递到 validate(),您需要从 inputclass() 引用的输入向上移动 dom,直到 .ui-tooltip,查找元素validate() 通过 id 引用
$('#name').editable({
inputclass: function(e, f) {
$("a[aria-describedby=" + $(this).closest(".ui-tooltip").prop("id") + "]").data("shared", "somedata");
},
validate: function (value) {
console.log("validate", $(this).data("shared"));
return 'pause';
}
});
更新了 jsfiddle 来演示:
关于javascript - 将变量从一个 JavaScript 回调匿名函数传递到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29574413/