gpt4 book ai didi

javascript - 使用 javascript 生成动态 onclick 事件

转载 作者:行者123 更新时间:2023-12-02 18:50:29 26 4
gpt4 key购买 nike

我正在动态生成一系列 onclick 事件,其中alert() 与假装内容的循环编号相关联。我的问题是,当前警报输出最后一个循环的“i”值,而不是与假装内容关联的第 i 个循环。有什么想法吗?

JavaScript:

for (i = 1; i < 4; i++) {

prepend_content = '<a href="#" id="img1_link_' + i + '" onclick="alert(i);">foo</a>';
$('#dynamic_div').prepend(prepend_content);

}

非常感谢。

最佳答案

尝试像以前一样连接它:

for (i = 1; i < 4; i++) {
prepend_content = '<a href="#" id="img1_link_' + i + '" onclick="alert(' + i + ');">foo</a>';
$('#dynamic_div').prepend(prepend_content);
}

如果您还没有声明 iprepend_content(使用 var),您可能需要声明它们,以确保它们不会这样做。不会泄漏到全局范围内。

同时,我不建议使用或添加带有内联事件处理程序的 HTML。尝试像这样创建元素:

prepend_content = $("<a>").attr({
href: "#",
id: "img1_link_" + i
}).text("foo").on("click", (function (i) {
return function () {
alert(i);
};
})(i));

演示: http://jsfiddle.net/ujv4y/

立即调用的函数对于 click 处理程序的额外用途是创建一个捕获循环中 i 值的闭包。

关于javascript - 使用 javascript 生成动态 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15871666/

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