【发布时间】:2020-09-18 00:17:35
【问题描述】:
我使用 Jquery 创建了一个下拉功能,其中一个事件侦听器允许我在单击下拉容器外的任何位置时关闭下拉菜单,另一个事件侦听器处理子菜单项。
根据设计,即使单击子菜单项,下拉菜单也应保持打开状态,并且仅在单击切换按钮或用户单击下拉容器外部时才应关闭。
问题
假设 general.js 有如下点击事件监听器
$('document').on('click.namespace',function(e){ // do stuff });
现在 anotherscript.js 有一个事件监听器来处理实际的子菜单点击
$('#clickbutton').on('click', function(e){
// Remove all html from inside the .dropdown container
// Recreate the html using another js function
$('.container').html(recreatedhtml);
});
当我尝试识别子菜单按钮点击目标的父级是谁时,会出现问题,因为我想知道点击是在容器内部还是外部。
由于单击#clickbutton 会从容器中删除 html 并重新插入它,我相信这会导致 parents() 函数出现问题,因此即使子菜单项是下拉类。
【问题讨论】:
标签: javascript jquery