在 jQuery 中创建 DOM 之前的绑定事件

Binding event before Creating DOM in jQuery

本文关键字:绑定 事件 DOM jQuery 创建      更新时间:2023-09-26
var thumbDom = '';
for (var i = 0; i < 10; i++) {
  thumbDom = thumbDom + '<div id = "div-" ' + i + '>DIV-'+ i +'</div>';
  bindEvent(i);
}
$('#parent').append(thumbDom);

function bindEvent(i){
  $('#div-' + i).click(function(event) {
        alert(i);
  });
}

我知道代码不起作用,因为事件在 dom 追加之前被绑定。但是,在附加到DOM树之前,是否可以将单击事件绑定到许多动态DOM?

我不想使用 $(document(.on('click, ...(,我想将事件绑定到子节点。

有什么建议会有所帮助,谢谢~

在这里摆弄

您可以尝试此方法:

  • 定义<div></div>
  • 设置其idinnerHtml
  • 将其与onclick事件绑定(提醒其id(
  • 将其附加到"#parent"项

$(function() {
    for (var i = 0; i < 10; i++) {
        $("<div></div>")
            .attr("id", "div-" + i)
            .html("DIV-" + i)
            .click(function() {
                alert($(this).attr("id"));
            })
            .appendTo("#parent");
    }
});