我设置了以下代码:
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的保证。