vue 事件处理-06

事件监听

  • v-on:click = "执行的js语句或者函数"

The button above has been clicked {{ counter }} times.

var example1 = new Vue({ el: '#example-1', data: { counter: 0 } })
var example2 = new Vue({ el: '#example-2', data: { name: 'Vue.js' }, // 在 `methods` 对象中定义方法 methods: { greet: function (event) { // `this` 在方法里指向当前 Vue 实例 alert('Hello ' + this.name + '!') // `event` 是原生 DOM 事件 if (event) { alert(event.target.tagName) } } } }) // 也可以用 JavaScript 直接调用方法 example2.greet() // => 'Hello Vue.js!'
  • 获取原始Dom事件
    v-on:click="warn('Form cannot be submitted yet.',$event)"
    $event


// ...
methods: {
  warn: function (message, event) {
    // 现在我们可以访问原生事件对象
    if (event) event.preventDefault()
    alert(message)
  }
}
  • 事件修饰符 这一块不是很懂诶
    阻止默认事件如 event.preventDefault()event.stopPropagation()
    1。.stop
    2。.prevent
    3。.capture
    4。.self
    5。.passive
    注意:这些事件修饰符只能在原生DOM中起作用 不能用在组件当中




...
...
...

使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击。

新增事件修饰符

  • .once 事件只执行一次(这个修饰符能在组件中使用)
  • .passive 滚动事件的默认行为,即滚动就会立即触发事件







...

不要把 .passive 和 .prevent 一起使用,因为 .prevent 将会被忽略,同时浏览器可能会向你展示一个警告。请记住,.passive 会告诉浏览器你不想阻止事件的默认行为。

按键修饰符



案件修饰别名

  • .enter
  • .tab
  • .delate
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

config.keyCodes 自定义按键修饰符别名

// 可以使用 `v-on:keyup.f1`   112 是F1的键码
Vue.config.keyCodes.f1 = 112

自动匹配按键修饰符

  • 你也可直接将 KeyboardEvent.key 暴露的任意有效按键名转换为 kebab-case 来作为修饰符:

在上面的例子中,处理函数仅在 $event.key === 'PageDown' 时被调用。

有一些按键 (.esc 以及所有的方向键) 在 IE9 中有不同的 key 值, 如果你想支持 IE9,它们的内置别名应该是首选。 百度查看键盘的别名

系统修饰键

  • .ctrl
  • .alt
  • .shift
  • .meta

注意:在 Mac 系统键盘上,meta 对应 command 键 (⌘)。在 Windows 系统键盘 meta 对应 Windows 徽标键 (⊞)。在 Sun 操作系统键盘上,meta 对应实心宝石键 (◆)。在其他特定键盘上,尤其在 MIT 和 Lisp 机器的键盘、以及其后继产品,比如 Knight 键盘、space-cadet 键盘,meta 被标记为“META”。在 Symbolics 键盘上,meta 被标记为“META”或者“Meta”。





Do something

请注意修饰键与常规按键不同,在和keyup事件一起用时,事件触发时修饰键必须处于按下状态。换句话说,只有在按住ctrl的情况下释放其它按键,才能触发keyup.ctrl。而单单释放ctrl也不会触发事件。如果你想要这样的行为,请为ctrl 换用 keyCode:keyup.17

.exact 修饰符

  • .exact 修饰符允许你控制由精确的系统修饰符组合触发的事件。








鼠标事件修饰符

  • .left
  • .right
  • .middle

你可能感兴趣的:(vue 事件处理-06)