gpt4 book ai didi

javascript - jquery 委托(delegate)的问题

转载 作者:行者123 更新时间:2023-11-28 10:37:20 26 4
gpt4 key购买 nike

我想知道如何触发由在父div(因此委托(delegate))中动态加载的单击元素或直接加载时触发的唯一处理程序。

首先,<a class="manage-lnk>Manage</a>元素是直接加载的,但是之后,还有动态加载

html

    <div id="viewContainer"> 
<a class="manage-lnk">Manage</a>
</div>

lib.js。

我必须找到这个技巧才能在这两种情况下都起作用

 $(document).on('click','.manage-lnk',function(){
alert(1);
});

$('.manage-lnk').on('click',function(){
alert(1);
});

我想要的是触发警报(1),尽管元素是否动态加载。

(PS:请原谅我的英语,我说法语)

最佳答案

触发这个:

$('.manage-lnk').on('click',function(){
alert(1);
});

每次动态添加其中另一个:

 <div id="viewContainer"> 
<a class="manage-lnk">Manage</a>
</div>

如果在 JS 触发后动态加载,则不会附加事件。

将其添加到一个可以在 HTML 中动态添加的代码之后调用的函数中是有意义的:

function addNewHtmlSectionFunctionName() {
//Code to add div dynamically
}

function attachClickEventToManageLnk() {
$('.manage-lnk').on('click',function(){
alert(1);
});
}

$(function() {
addNewHtmlSectionFunctionName();
attachClickEventToManageLnk();
});

关于javascript - jquery 委托(delegate)的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59364467/

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