"-6ren"> "-按下下面创建的按钮时,它返回以下错误: “1 未捕获的语法错误:意外的标记(” 在 html 文件顶部的 DOCTYPE html 中。 function createButton(check){ -6ren">
gpt4 book ai didi

javascript - 按钮在 "Uncaught SyntaxError: Unexpected token ("中创建 ""

转载 作者:行者123 更新时间:2023-11-30 07:34:36 26 4
gpt4 key购买 nike

按下下面创建的按钮时,它返回以下错误:

“1 未捕获的语法错误:意外的标记(”

在 html 文件顶部的 DOCTYPE html 中。

function createButton(check){
var btn = document.createElement("button");
btn.setAttribute("onclick", "function(){checkQuestion(check);}");
var textbtn = document.createTextNode("Submit");
btn.appendChild(textbtn);
document.body.appendChild(btn);

check 是一个变量,它引用一个指定问题的数字,用 checkQuestion() 进行检查。

是上面代码的错误吗?

最佳答案

onXYZ 属性样式的处理程序应该是逐步代码;浏览器将它们包装在一个函数中。所以 onXYZ 处理程序最终会变成这样:

function onclick(event) {
function() {
checkQuestion(check);
}
}

可以看到问题:生成的函数内容无效。

因此,如果使用 onXYZ 处理程序,它应该是:

btn.setAttribute("onclick", "return checkQuestion(check);"); 

...但请注意,在这种情况下,check 必须是一个全局变量。

相反,您可能想要分配给 onclick 属性:

btn.onclick = function() { return checkQuestion(check); };

...这允许它与它关闭的 check 一起工作;在您的情况下,check 是生成按钮的调用的 createButton 函数的参数。

或者使用 addEventListener 除非需要旧版支持(IE8 和更早版本,包括 IE 的 [in] 兼容模式):

btn.addEventListener("click", function() {
return checkQuestion(check);
}, false);

关于javascript - 按钮在 "Uncaught SyntaxError: Unexpected token ("中创建 "<DOCTYPE html>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37847373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com