javascript - 使用 onclick 函数传递参数时,应将其读取为字符串,但将其读取为变量

标签 javascript dynamic parameters onclick

这是我的问题:

我正在动态创建一个带有 onclick 函数的按钮,如下所示:

 $("#test).html('<input type="button" value="Close" onclick="remove('+param1+','+param2+');" />');

参数读取良好,但函数未触发,并且我收到此错误消息: 当 bob 是 param1 的字符串值时,“bob 未定义”。

显然,当 bob 应该作为字符串读取时,它似乎被读取为变量,但我不明白为什么。

非常感谢您的帮助!

最佳答案

那是因为这个字符串就在这里:

'onclick="remove('+param1+','+param2+');"'

最终看起来像这样:

'onclick="remove(foo, bar);"'

您可能希望它看起来像这样:

'onclick="remove(\'foo\', \'bar\');"'

所以将其更改为:

'onclick="remove(\''+param1+'\', \''+param2+'\');"'

您也可以这样做:

$("#test").html('<input type="button" value="Close" />').find('input[type=button]').click(function () {
    remove(param1, param2);
});

编辑:我还注意到您在 $() 调用中缺少一个 ": $("#test) 应该是 $("#test").

关于javascript - 使用 onclick 函数传递参数时,应将其读取为字符串,但将其读取为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8940182/

相关文章:

javascript - 在 Sencha Touch 中更改轮播页面时触发运行函数

javascript - Extjs4.1.0中动态加载

c# - 在 View 中访问动态匿名类型时出现 RuntimeBinderException

javascript - jQuery:将 $this 与其他参数一起传递给函数

php - 您应该验证 PHP 函数中的参数类型吗?

javascript - Spring Boot 没有正确加载 CSS 和 JS 文件

javascript - 在中心滚动图像并在中心缩放

javascript - Vanilla javascript : Get a specific element of page in an ajax get request

c# - 如何生成动态for循环

jQuery;针对每个元素设置默认选项