我有一个填充多个按钮的函数,每个按钮都有自己的 onclick 函数:
$("#event_list").append(
"<button type='button' onClick='showInfo("+i+",'"+name+"')'> Event:<br>"+events_arr[i][2]+"<br> Organizer:<br>"+events_arr[i][1]+"</button>"
);
函数 showInfo 在文件的其他地方定义(i 是数字,name 是字符串)
function showInfo(i, name)
{
console.log("showInfo works");
//makeTable12(i, name);
//makeTable24(i);
}
每当我点击这些按钮中的任何一个时,Chrome 都会抛出一个 Uncaught SyntaxError: Unexpected token }
我不明白为什么它会这样做。感谢任何和所有的帮助!
最佳答案
由于您用单引号 '
包裹了 onclick
内容,因此您应该用双引号包裹函数的参数(但请注意,您应该转义它们):
onClick='showInfo("+i+",\""+name+"\")'
检查以下代码片段:
i = 0;
name = 'test';
events_arr = [['', '', '']];
$("#event_list").append(
"<button type='button' onClick='showInfo("+i+",\""+name+"\")'> Event:<br>"+events_arr[i][2]+"<br> Organizer:<br>"+events_arr[i][1]+"</button>"
);
function showInfo(i, name)
{
console.log("showInfo works");
//makeTable12(i, name);
//makeTable24(i);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="event_list"></div>
关于javascript - '未捕获的语法错误 : Unexpected Token }' when trying to access a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46255828/