英文:
Use "this.id" when addEventListener in JavaScript
问题
Here's the translated code snippet:
我想在 JavaScript 中获取点击时创建的元素的 ID。
例如:
var input_check = document.createElement("INPUT");
input_check.id = 1;
input_check.type = "checkbox";
input_check.addEventListener("click", test);
// 当单击复选框时执行此函数
function test(id) {
console.log(id);
}
显然,根据此示例,我无法打印 "ID",因为我需要使用 JavaScript 生成类似以下的内容:
<input id="1" type="checkbox" onClick="test(this.id)">
通过上述示例,我得到了类似以下的内容:
<input id="1" type="checkbox" onClick="test()">
请注意,翻译已经在代码部分进行了标记,不包括问题和其他内容。
英文:
I want to get the id of an element create in javascript when we click on him.
For example:
var input_check = document.createElement("INPUT");
input_check.id = 1;
input_check.type = "checkbox";
input_check.addEventListener("click", test);
//Come here when s1 click on the checkbox
function test(id){
console.log(id);
}
Obviously with this example I can't print "ID" cause I need to "generate" with javascript something like this :
<input id="1" type="checkbox" onClick="test(this.id)">
With the previous example I have something like this :
<input id="1" type="checkbox" onClick="test()">
答案1
得分: 2
将代码中的英文部分翻译为中文:
// 将onclick函数写成属性值时,执行与之前完全相同的操作。
input_check.addEventListener("click", function () {
test(this.id);
});
// 或者只需写`test`,期望它作为事件监听器首先被调用:
input_check.addEventListener("click", test);
function test(event) {
console.log(this.id);
}
英文:
Do exactly what you did when writing the onclick function as an attribute value.
input_check.addEventListener("click", function () {
test(this.id);
});
Or just write test
to expect to be called as an event listener in the first place:
input_check.addEventListener("click", test);
function test(event) {
console.log(this.id);
}
答案2
得分: -2
将输入内容生成为HTML,您必须将您创建的输入添加到body中,就像这样:
document.body.appendChild(input_check);
英文:
To generate the input in HTML, you must add the input you created to the body, like this:
document.body.appendChild(input_check);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论