Javascript 下拉菜单按钮[非下拉菜单]赢得';t在第一次之后触发单击事件

Javascript 下拉菜单按钮[非下拉菜单]赢得';t在第一次之后触发单击事件,javascript,twitter-bootstrap,bootstrap-4,drop-down-menu,dropdown,Javascript,Twitter Bootstrap,Bootstrap 4,Drop Down Menu,Dropdown,我有一个bootstrap4下拉按钮,我有一个点击监听器连接到该按钮本身。当我点击下拉按钮打开菜单时,第一次点击按钮onclick处理程序。然后,菜单会很好地打开,如果我在菜单外单击,菜单会关闭,这是引导下拉的默认行为 但从那时起,如果我再次单击按钮打开菜单,按钮onclick处理程序随后不会被点击。 我需要添加这个处理程序,以便在每次打开菜单之前,我可以在下拉菜单项中设置一些值,然后显示它 这个js小提琴代表了这个问题 如何解决这个问题。这是一个事件冒泡的问题吗? 有什么办法克服这个问题吗

我有一个bootstrap4下拉按钮,我有一个点击监听器连接到该按钮本身。当我点击下拉按钮打开菜单时,第一次点击按钮onclick处理程序。然后,菜单会很好地打开,如果我在菜单外单击,菜单会关闭,这是引导下拉的默认行为

但从那时起,如果我再次单击按钮打开菜单,按钮onclick处理程序随后不会被点击。 我需要添加这个处理程序,以便在每次打开菜单之前,我可以在下拉菜单项中设置一些值,然后显示它

这个js小提琴代表了这个问题

如何解决这个问题。这是一个事件冒泡的问题吗? 有什么办法克服这个问题吗

$(文档).on('click','main按钮',函数(e){
警报(“打开下拉列表”);
})

JS-Bin

为什么每次显示前都需要更改下拉选项?我的意思是,用例是什么?您可以更改此行为,并在触发另一个事件时实际呈现适当的选项;这能解决您的问题吗?这是必要的,因为在我的例子中,下拉菜单项有一些值,用户在单击每个字段的应用时可以更改这些值。因此,如果有人打开菜单并更改了一些值,但没有应用,则会关闭菜单并再次打开,它会显示更改的值。因此,我需要在菜单项中填充上次存储的正确值。这就是为什么每当单击下拉列表btn时,我都需要获取一个事件,以便在数据显示之前更新数据。我很好奇为什么在第二次点击时它没有被捕获到事件处理程序中!!为什么每次在显示之前都需要更改下拉选项?我的意思是,用例是什么?您可以更改此行为,并在触发另一个事件时实际呈现适当的选项;这能解决您的问题吗?这是必要的,因为在我的例子中,下拉菜单项有一些值,用户在单击每个字段的应用时可以更改这些值。因此,如果有人打开菜单并更改了一些值,但没有应用,则会关闭菜单并再次打开,它会显示更改的值。因此,我需要在菜单项中填充上次存储的正确值。这就是为什么每当单击下拉列表btn时,我都需要获取一个事件,以便在数据显示之前更新数据。我很好奇为什么在第二次点击时它没有被捕获到事件处理程序中!!