我有一个可以动态创建按钮的函数,并且onclick我将click事件中的一些参数传递给function。 我传递的参数是:this和第二个是逗号分隔的string。 我的问题是当我通过此参数时出现此错误:
输入意外结束
那是按钮:
<button class="btnCustom" onclick="getCustomItems(this, ' + CustomIDs + ')" type="button">...</button>
CustomIDs ="3,4,5";
和功能:
function getCustomItems(e, CustomIDs) {
var IDs = CustomIDs ;
}
如何传递逗号分隔的this
对象和CustomIDs
作为函数的参数?
答案 0 :(得分:1)
您当前正在将字符串onclick="getCustomItems(this, CustomIDs)"
传递到函数中-请尝试使用变量:
document.getElementById(‘btn-login’).addEventListener(‘click’, function() {
lock.show();
});
答案 1 :(得分:1)
您可以更新ID的变量并将其作为变量传递给函数
var CustomIDs='my id custom'
<button class="btnCustom" onclick="getCustomItems(this, CustomIDs)" type="button"></button>
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
答案 2 :(得分:1)
如果您的ID是动态生成的,请尝试将customIds设置为该按钮上的属性,只需在函数中传递“ this”作为关键字,然后在函数内部使用此方法从属性中获取ID。
<button class="btnCustom" onclick="getCustomItems(this)" customIDs="3,4,5" type="button">...</button>
function getCustomItems(e) {
var customIDs= e.getAttribute('customIDs');
console.log(customIds);
//3,4,5
var ids= customIds.split(',');
console.log(ids);
//[3,4,5]
}
答案 3 :(得分:0)
试试这个。
onclick="getCustomItems(this, \'' + CustomIDs + '\')"