gpt4 book ai didi

javascript - 事件处理程序应该动态添加还是在文档准备好时添加?

转载 作者:行者123 更新时间:2023-12-03 10:11:34 25 4
gpt4 key购买 nike

目前,我使用两种方法将事件处理程序添加到动态添加的 DOM 对象中,原因是我不知道哪种方法更有意义。

方法 1 - 创建

function createButton(){
var btn = $('<div class = "btn"/>');
btn.on('click', function(){
doStuff();
});
$('body').append(btn);
}

方法 2 - 文档准备就绪

function createButton(){
var btn = $('<div class = "btn"/>');
$('body').append(btn);
}

$('document').on('ready', function(){
$('body').on('click', '.btn', function(){
doStuff();
});
});

我也有长期运行的应用程序考虑因素,并且会担心这里的垃圾收集问题。

最佳答案

在方法 1 中,您将一个新的(尽管不是唯一的)处理程序对象附加到您创建的每个按钮。

在方法 2 中,您对 .btn 类的任何内容重用相同的处理程序对象。

短期内,我会使用方法 2,因为对于任何给定按钮,您只有 1 个处理程序函数,因此您不妨通过不创建冗余处理程序来节省内存。

关于javascript - 事件处理程序应该动态添加还是在文档准备好时添加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089684/

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