gpt4 book ai didi

javascript - jQuery 中动态生成元素内动态生成元素的事件绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 19:11:57 25 4
gpt4 key购买 nike

我正在尝试在动态生成的 DOM 上使用“单击”。我知道我可以只使用 live 或 on,但是我的动态生成的内容位于多个动态生成的内容片段中,并且 live/on 不再有效。

所以我的代码看起来像这样,但在 El_b 之前有更多元素:

El_a = document.createElement("li");
El_b = document.createElement("a");
El_b.id = "myEl";
El_a.appendChild(El_b);

有办法实现这个功能吗?

PS:我也尝试过 livequery jQuery 插件。

最佳答案

就委托(delegate)而言,您始终至少有一个可用的静态 DOM 元素,即文档。如果您找不到更接近的元素来委托(delegate),请委托(delegate)给此元素。

但是,这里似乎没有必要委托(delegate)。创建元素和附加监听器的整个过程可以浓缩为:

var a = $("<li/>").append($("<a/>").attr("id", "myElement")).click(function () {
alert('hello');
});

如果如您所说,您无法更改对象创建,您仍然可以通过其 ID 选择它并附加监听器:

$('#myElement').click(function () {
alert('hello');
});

此外,这些是文档片段,不是正确的文档,当然也不是 DOM。

关于javascript - jQuery 中动态生成元素内动态生成元素的事件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13600994/

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