gpt4 book ai didi

javascript - 如何使用 for 循环进行绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 04:34:23 25 4
gpt4 key购买 nike

当单击具有文件夹类别的按钮(所有这些按钮都是由 addf 函数创建的(在这个问题中没有说明,因为有些人说原始程序不相关))时,没有响应被单击。我有警报来测试该事件是否被调用。事实并非如此。

        $('.folder').click(function() {
alert('works')
fnum = $(this).attr(id);
$('body').html("<button class='btn btn-submit' onclick='addb()'>add a bookmark</button>")
$('body').append(localStorage.getItem(fnum + 'b'));
})

最佳答案

只需附加新元素即可,而不是使用 html 方法,以防止删除事件监听器。另外,您可以只使用 on 而不是 bind,因为它已被弃用。如果确实需要事件委托(delegate),可以使用:

$('body').on('click', '.f', callback);

我不明白您对 localStorage 的使用,但如果您需要它,请在评论中进一步解释。

我删除了 id 和循环,转而使用类,因为它可以更轻松地处理多个元素。

function addb () { console.log('click') };

$('.f').on('click', function() {
var button = $('<button>add a bookmark</button>');
button.addClass('btn btn-submit');
button.on('click', addb);
$('body').append(button);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button class="f">Button class 'f'</button>

关于javascript - 如何使用 for 循环进行绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59803440/

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