在 JavaScript 中添加 EventListener 时使用 "this.id"

Use "this.id" when addEventListener in JavaScript

当我们点击他时,我想获取在 javascript 中创建的元素的 id。

例如:

    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);
    }

显然在这个例子中我无法打印 "ID" 因为我需要 "generate" 和 javascript 这样的东西 :

<input id="1" type="checkbox" onClick="test(this.id)">

对于前面的例子,我有这样的东西:

<input id="1" type="checkbox" onClick="test()">

完全按照您将 onclick 函数编写为属性值时的操作进行。

input_check.addEventListener("click", function () {
    test(this.id);
});

或者只写test期望首先作为事件监听器被调用:

input_check.addEventListener("click", test);
function test(event) {
    console.log(this.id);
}

要在 HTML 中生成输入,您必须将创建的输入添加到正文中,如下所示:

document.body.appendChild(input_check);