javascript - 将变量从一个 JavaScript 回调匿名函数传递到另一个

标签 javascript jquery

如下所示,我将一个变量从 inputclass 回调传递到 validate 回调。

是否可以在不使用全局变量的情况下完成此操作,以便在将 jQuery 插件应用到给定元素时它将是实例的本地变量?

$('#name').editable({
    inputclass: function() {
        globalVariable=this;
    },
    validate: function (value) {
        console.log(globalVariable);
        return 'pause';
    }
});

Fiddle

最佳答案

由于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 来演示:

jsfiddle

关于javascript - 将变量从一个 JavaScript 回调匿名函数传递到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29574413/

相关文章:

jquery - 设置所选选项/.attr ("selected"时出现问题,true)

javascript - 为什么我得到 : Uncaught ReferenceError: response is not defined

javascript - 哪些 jQuery 插件应该合并到 jQuery 或 jQueryUI 中

javascript - 动态 react 状态

javascript - 多个 Angular 5 组件操纵一个中心组件

javascript - 在单个页面上多次渲染 React/Redux 应用程序?

javascript - 展开 折叠 div

javascript - D3 强制布局悬停在箭头上

jquery - 为什么我无法在 jquery 1.4.4 之后设置背景位置动画?

javascript - 删除使用 div 创建的表中的一行