javascript - 将对象及其方法传递给 Javascript 中的 onchange 函数

标签 javascript jquery function methods jquery-events

我正在使用 TableExport.js 脚本导出 html 表格,我需要在通过隐藏不需要的行来过滤数据后导出数据。 TableExport 的方法 .update() 在这里非常有用,但每次过滤数据时调用它都会遇到一些问题,这与 onchange 事件相关联。以下是我的代码的相关部分:

$(function () {
    var exportedTable = $("#taskListTable").tableExport();
    exportedTable.update({
        // some options
    });

    $('body').on('change', '.filter', function (exportedTable) {
        // some code for filtering
        tableUpdate(exportedTable);
    });
})

function tableUpdate(table) {
    table.update({
        ignoreCSS: ["tr.tableexport-ignore", "tr.tableexport-ignore>td",
                    "tr.tableexport-ignore>th", "tr.hidden", "tr.hidden>td"]
    });
}

我不断收到类型为 Uncaught TypeError: Cannot read property 'update' of undefined 的错误。我已经阅读了很多线程(例如:Javascript passing object to function)和其他信息以了解按值传递和引用传递之间的区别,但是我阅读和尝试的次数越多,我的想法就越困惑。那么任何人都可以看到我的方法失败了什么吗? - 虽然它有一部分是遗留代码,但如果有必要,我愿意重新构建其中的大部分代码。

我想这更多是 JS 滥用的问题,所以我希望这个问题对使用 TableExport 的人和有类似 JS 问题的人都有用。所以我召唤你,JavaScript Jedis!

最佳答案

事件处理函数以事件对象作为参数调用。您可能只想从范围访问 exportedTable,而不是将其作为参数接受。

关于javascript - 将对象及其方法传递给 Javascript 中的 onchange 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43286640/

相关文章:

Javascript 固定页脚覆盖焦点

MySQL CREATE FUNCTION 语法

javascript - 如何结合 jQuery UI 对话框标题更改和在一个函数调用中打开

javascript - 如何在登录后根据用户刷新数据而不重新加载页面?

JavaScript:未捕获类型错误:jQuery.toJSON 不是函数

javascript - 如何在单击时替换 anchor 标记内的文本子字符串?

javascript - 嘿,我正在尝试将 2 个条件放在一个 if 语句中。一个用 Javascript,一个用 PHP

jquery - 通过 JSONP 获取数据时检测 SyntaxError

function - 绘制上对数轴作为下线性轴的函数

c++ - 什么时候对象足够大以至于通过引用而不是通过值传递它可以提高性能?