javascript - 将函数传递给 javascript 类

标签 javascript jquery

在我的 index.html 上,我有这段代码,

$(document).ready(function() {
    var self = this;
    var submit = function() {
        alert("Test");
    }
    const form = new Form(self.submit);
})

在我的 Form.js 中,我有这段代码,

class Form() {
    constructor(func) {
        var self = this;
        // ...
        $("submitBtn").click(function(e) {
           e.preventDefault();
           self.func();
        });
        // ...
    }
}

为什么我的函数在点击 submitBtn 后没有执行? 我用自己来获得“这个”值。我不能使用“new Form(self.submit())”,因为它会在读取该行后执行该函数。

最佳答案

您的submit 函数是一个局部变量,不是this 的属性。因此你需要:

const form = new Form(submit);

同样,在你的构造函数中,funcself 没有任何关系;应该是

  func();

关于javascript - 将函数传递给 javascript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41945480/

相关文章:

JavaScript:for 循环内的 while 循环

c# - 在 JavaScript/Jquery/NodeJS 中创建类似 C# 的 List

javascript - 动画完成后调用函数

javascript - 如何在 Slickgrid 单元格中输入文本

javascript - 删除元素后对数组重新排序

javascript - 在 AngularJS 指令中使用 Jquery 是好主意还是坏主意?

javascript - 迭代表列并构建 JSON - jQuery

jquery - 如何迭代这个 json 数组并填充选择列表?

c# - 如何设置默认下拉列表选定项

php - php while 循环中的 javascript