我的onclick
功能有问题。
这是我的代码:
$('ul.listing').append('<button onclick="openInApp("test")" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
单击按钮时,出现“
Unexpected end of input
”错误消息。我也尝试像这样传递变量:
$('ul.listing').append('<button onclick="openInApp('+ edit_url +')" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
我收到以下消息:
Uncaught SyntaxError: missing ) after argument list
两种错误均始于“(”
我还有另一个功能(总是在附录中):
$('ul.listing').append('<a href="event-details.html" onclick="saveEventID(' + data[i].ID + ');">')
它完美地工作
我不明白
最佳答案
要将字符串嵌套在onclick中,您可以像下面这样进行操作,其中使用反斜杠将单引号转义以防止其终止字符串。
$('ul.listing').append('<button onclick="openInApp(\'test\')" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
解决此问题的另一种方法可以通过将字符串传递给单独的data属性来完成:
$('ul.listing').append('<button onclick="openInApp(this)" data-string="yourstringhere" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
然后像这样在onclick函数中访问它:
function openInApp(element) {
var mystring = $(element).data("string");
}
关于javascript - 带有onclick的“ Uncaught SyntaxError :输入意外结束”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50336211/