删除单击的元素时检测外部单击

时间:2020-08-24 15:38:55

标签: javascript jquery

我设置了以下代码:

jQuery(document).on('click', function(event) {
    jQuery('.yellow-dropdown').each(function() {
        if (!jQuery(this)[0].contains(event.target)) {
            const dropdownInstance = jQuery(this).yellow().dropdown(false);
            if (dropdownInstance !== null) dropdownInstance.close();
        }
    });
});

如果在下拉菜单之外注册了点击,则此代码应关闭打开的下拉菜单。我的问题是,当我在下拉列表中有一个元素时,单击该元素便将其删除(例如,标记)。在这种情况下,此函数将触发,因为click事件的原始目标不再是dropdown元素的一部分。

由于删除操作是由外部插件完成的,因此,我无法执行明显的解决方案(即:防止事件冒泡)。一旦事件起泡到最高元素,是否有任何方法可以触发回调?我可以设置删除元素的超时时间,但这不是imo的保证。

0 个答案:

没有答案
相关问题