gpt4 book ai didi

javascript - JS - 如何使用参数向 div 添加 onclick 事件?

转载 作者:行者123 更新时间:2023-11-28 19:54:09 25 4
gpt4 key购买 nike

我知道如何在不带参数的情况下向 div 添加 onclick 事件:

newDiv.onclick = selectUnit;

function selectUnit() {}

但我无法让它与参数一起工作:

function appendUnit(nb) {
var newDiv = document.createElement("div");

newDiv.id = "unit" + nb;
newDiv.onclick = selectUnit(this.id); // This throws me undefined
document.getElementById("unitsList").appendChild(newDiv);
}

function selectUnit(id) {
console.debug(id);
}

我怎样才能做到这一点?

最佳答案

为此,您需要一个匿名函数,因为无法将参数传递给引用的函数

function appendUnit() {
var newDiv = document.createElement("div");

newDiv.onclick = function() {
selectUnit(this.id);
}

document.getElementById("unitsList").appendChild(newDiv);
}

function selectUnit(id) {
console.debug(id);
}

但请注意,this 的值将保留,因此您可以执行以下操作

function appendUnit() {
var newDiv = document.createElement("div");

newDiv.onclick = selectUnit;

document.getElementById("unitsList").appendChild(newDiv);
}

function selectUnit() {
console.debug( this.id ); // this is still the same here
}

关于javascript - JS - 如何使用参数向 div 添加 onclick 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com