代码之家  ›  专栏  ›  技术社区  ›  user3174311

如何在调用另一个函数之前执行一个函数

  •  1
  • user3174311  · 技术社区  · 4 年前

    我有一个带有onClick调用函数的按钮,不幸的是我无法更改。此函数用于登录应用程序:

    <Button onClick={() => signIn()}>
    

    但我需要执行一些其他代码,以检查用户是否选中了几个复选框。有没有办法在当前函数之前调用另一个函数,并在第一个函数返回false时防止函数调用?

    1 回复  |  直到 4 年前
        1
  •  3
  •   Barmar    4 年前

    你可以买旧的 onclick 值,然后用完成检查后调用原始值的函数替换它。

    let oldFunc = button.onclick;
    button.onclick = function(event) {
        // code to check if the checkboxes are checked
        if (boxes_checked) {
            if (typeof oldFunc == 'string') {
                eval(oldFunc);
            } else {
                return oldFunc(event);
            }
        }
    }