奇怪的行为:vue-multiselect 选项面板的显示导致按钮无法点击

Strange behavior: the displaying of vue-multiselect options panel cause a button unclickable

Codesandbox:https://codesandbox.io/s/vue-template-33327

重现步骤

  1. 点击 vue-multiselect 显示选项面板
  2. 选择几个选项
  3. 单击 'Unclickable Submit' 按钮
  4. 观察异常行为

如我们所见,'Unclickable Submit' 按钮不可点击。仅当 vue-multiselect 失去焦点时(选项面板消失后)才可点击

有人可能会说,选项面板的出现导致了按钮 'unclickable',但是,尽管选项面板仍然存在,'Clickable Submit' 按钮仍然 'clickable' .

其他人可能会这么说,因为 'Unclickable Submit' 按钮离开了它之前的位置,导致点击事件处理程序不起作用。这就说得通了。但是,我还创建了一个增加高度按钮,它会导致 div 增加其高度,以模拟按钮位置的变化。在这种情况下,'Unclickable Submit' 是 Clickable..strange!

另一个奇怪的事情是@mousedown 事件在 'Unclickable Submit' 按钮的情况下有效。但是,在这种情况下,表单没有提交。

那些奇怪的行为让我大吃一惊。我不知道是什么导致了这些行为。哪位知道怎么回事,求助!因为在一天结束时,我需要让 'Unclickable Submit' 按钮 Clickable.

更新 1

另一个问题,为什么 @mousedown 事件有效而 @click 事件无效?

更新 2

阻止按钮移动解决了这个问题,但是,是否可以使按钮在离开之前的位置后仍然可以点击?


答案比我想象的要简单,我只需要添加这一行:

@mousedown.prevent

遇到问题的任何按钮。虽然我不知道到底发生了什么。