【发布时间】:2020-09-04 06:23:53
【问题描述】:
尝试使用反引号,但它在加载时调用函数。 validateRequest() 函数应该在点击按钮时调用
<p id="demo"></p>
<script>
function validateRequest(){
alert("");
}
const markUp = `<button onclick="${validateRequest()}">Click me</button>`;
document.getElementById("demo").innerHTML = markUp;
</script>
【问题讨论】:
-
这种方式一旦使用
validateRequest()赋值,就会被执行,函数结果会添加到onclick事件中,即undefined。而是尝试onclick="validateRequest()"。 -
会调用 validateRequest,并将返回的值(未定义)插入到 HTML 中 - 不知道你为什么要诚实地使用这样的模式
-
eslint 在字符串模板中使用时会产生 no-unused-vars。 @norbitrial
标签: javascript html template-literals