未捕获的SyntaxError:意外的令牌}

DLi*_*iKS 2 javascript jquery

我有一个jQuery代码,它将一个输入按钮附加到正文,然后为它分配一个onclick函数.要调用的函数已在别处定义,并且接受两个参数,这些参数是之前定义的变量.

这是我目前正在使用的代码:

$("body").append("<input type='submit' value='foo' onclick='foo(\'" + argument1 + "\',\'" + argument2 + "\'/>");
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试单击按钮时,我收到错误(在Chrome中)说:Uncaught SyntaxError:Unexpected token}.

谁能帮我?

SLa*_*aks 5

您应该使用jQuery分配单击处理程序:

var input = $('<input type="submit" value="foo" />')
    .click(function() { foo(argument1, argument2); })
    .appendTo(document.body);
Run Code Online (Sandbox Code Playgroud)

请注意,这将通过引用捕获参数变量.