Javascript 防止模糊事件

Javascript 防止模糊事件,javascript,vue.js,vuejs2,blur,onblur,Javascript,Vue.js,Vuejs2,Blur,Onblur,我有一个可编辑的输入组件,它的状态是可编辑的 通过在输入字段外单击,我使用@blur事件。 通过单击enter键,我触发了另一个事件 两种方法使用相同的逻辑,在逻辑完成后,我将isEditable设置为false。在这种情况下,会以某种方式触发模糊事件。(我猜是因为输入字段消失了(我猜是因为它使用了v-if=“isEditable”)。 有没有办法通过编程方式更改状态来防止触发模糊?如果隐藏div会激活模糊事件,那么您只需使按键输入事件隐藏div,在这两种情况下,您的逻辑只会执行一次 之前: @

我有一个可编辑的输入组件,它的状态是可编辑的

通过在输入字段外单击,我使用
@blur
事件。 通过单击enter键,我触发了另一个事件

两种方法使用相同的逻辑,在逻辑完成后,我将
isEditable
设置为
false
。在这种情况下,会以某种方式触发模糊事件。(我猜是因为输入字段消失了(我猜是因为它使用了
v-if=“isEditable”
)。
有没有办法通过编程方式更改状态来防止触发模糊?

如果隐藏div会激活模糊事件,那么您只需使按键输入事件隐藏div,在这两种情况下,您的逻辑只会执行一次

之前:

@blur="myLogic"
@keyup.enter="myLogic"

之后:

@blur="myLogic"
@keyup.enter="willActivateBlur"

// methods

willActivateBlur: function() {
  this.isEditable = false
}
编辑:等等,你是说“点击回车键”?…我搞糊涂了,你是在点击还是在按键?
如果您的问题是同时使用@blur和@click,那么已经有很多关于这方面的问题被问到了,例如。

如果隐藏div激活了blur事件,那么您只需使keypress Enter事件隐藏div,您的逻辑在这两种情况下都只会执行一次

之前:

@blur="myLogic"
@keyup.enter="myLogic"

之后:

@blur="myLogic"
@keyup.enter="willActivateBlur"

// methods

willActivateBlur: function() {
  this.isEditable = false
}
编辑:等等,你是说“点击回车键”?…我搞糊涂了,你是在点击还是在按键?
如果您的问题是同时使用@blur和@click,那么已经有很多问题被问到了,例如。

我不认为以编程方式更改isEditable的状态将如何防止触发模糊事件。请发布您的问题的简化JS摘要。我不认为以编程方式更改isEditable的状态会如何uld防止触发模糊事件。请发布您的问题的简化JSF摘要。