Vuetify 复选框:如何停止点击事件?

And*_*ndy 8 vue.js vuetify.js

我试图有一个复选框,@click.stop.prevent="myEvent"在将复选框设置为真之前应该询问,但停止和阻止被忽略,复选框仍然被激活。这里可能有什么问题?

这是描述问题的小提琴:https : //jsfiddle.net/ag63f9fm/49/

<v-checkbox @click.native.stop.prevent='ask($event)' :label="`Checkbox 1: ${checkbox1.toString()}`" v-model="checkbox1"></v-checkbox>
Run Code Online (Sandbox Code Playgroud)

问方法:

ask: function (event) {
    answer = confirm('really')
    console.log('Answer: ' + answer)
    if (!answer) {
        event.stopPropagation()
      event.preventDefault()
    }
    return answer
  }
Run Code Online (Sandbox Code Playgroud)

And*_*ndy 8

好吧,在 vuetify 发布问题后,我被告知要使用 click.capture它,但我仍然不知道为什么简单的方法event.stopPropagation() 一开始就不起作用。

  • 我必须使用“@click.native.prevent.stop.capture”来代替...“capture”仅对我不起作用 (6认同)
  • event.stopPropagation() 阻止事件向上冒泡到父元素,而 click.capture 阻止事件向下传递到内部元素。根据我对 Vuetify 的了解,复选框可能是包装在父元素中的输入元素。单击父元素总是会触发输入元素,因此 click.capture 是有意义的。 (2认同)