【问题标题】:Uncaught ReferenceError: Undefined parameter未捕获的 ReferenceError:未定义的参数
【发布时间】:2021-04-27 14:00:33
【问题描述】:

我收到以下代码的错误。

function getDelAction(whatToDelete){
    return "<i class='fas fa-trash-alt text-danger' onclick=\"deleteRecord(this.closest('tr'), whatToDelete);\"></i>";
}

创建了一个返回元素字符串表示的函数。当我运行代码并单击图标时,JS 抱怨我传递给 deleteRecord 函数的 whatToDelete 参数,函数 getDelAction 正在接受该函数作为参数。如果我在函数外部创建相同的变量并像这样传递它,它就可以工作。有什么问题?

getDelAction("customer");这样调用函数

谢谢!

【问题讨论】:

  • 最好avoid inline handlers,他们现在有太多值得使用的问题,例如疯狂的范围链和引用转义问题。而是使用带有addEventListener 的Javascript 正确附加事件侦听器。

标签: javascript parameters arguments undefined


【解决方案1】:

尝试使用模板文字返回字符串,以便将 whatToDelete 作为变量传递:

    return `<i class='fas fa-trash-alt text-danger' onclick=\"deleteRecord(this.closest('tr'),${whatToDelete});\"></i>`;

就像其他人提到的那样,尽量避免这种事情

【讨论】:

    猜你喜欢
    • 2023-01-23
    • 2016-11-03
    • 2011-01-05
    • 2016-01-02
    • 2013-10-06
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多