VueJS 事件修饰符

事件修饰符

在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation()是非常常见的需求。尽管我们可以在 methods 中轻松实现这点,但更好的方式是:methods 只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。

为了解决这个问题, Vue.js 为 v-on 提供了 事件修饰符。通过由点(.)表示的指令后缀来调用修饰符。

  • .stop
  • .prevent
  • .capture
  • .self
  • .once
<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>

<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>

<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>

<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>

<!-- 添加事件侦听器时使用事件捕获模式 -->
<div v-on:click.capture="doThis">...</div>

<!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
<div v-on:click.self="doThat">...</div>

按键修饰符

在监听键盘事件时,我们经常需要监测常见的键值。 Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:

<!-- 只有在 keyCode 是 13 时调用 vm.submit() -->
<input v-on:keyup.13="submit">
<!-- 同上 -->
<input v-on:keyup.enter="submit">

<!-- 缩写语法 -->
<input @keyup.enter="submit">

全部的按键别名:记住所有的 keyCode 比较困难,所以 Vue 为最常用的按键提供了别名:

  • .enter
  • .tab
  • .delete (捕获 “删除” 和 “退格” 键)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

可以通过全局 config.keyCodes 对象自定义按键修饰符别名

// 可以使用 v-on:keyup.f1
Vue.config.keyCodes.f1 = 112
时间: 2024-11-07 21:36:58

VueJS 事件修饰符的相关文章

事件修饰符

<div style="margin-top:100px"> <!--事件的监听--> <!--事件修饰符--> <div id="app"> <!--prevent 阻止默认事件的触发,这里地方会阻止跳转链接--> <a href="http://www.baidu.com" v-on:click.prevent>我是百度</a> <!--prevent

Vue—事件修饰符

Vue事件修饰符 Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation(). Vue.js通过由点 (.) 表示的指令后缀来调用修饰符. .stop.prevent.capture.self.once <!-- 阻止单击事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再重载页面

用事件修饰符来修改事件

功能:当鼠标移动到"DEAD SPOT"上时,停止更新位置信息.默认的,鼠标在P标签位置这一行移动时,由于有v-on,默认的会有一个默认的event事件对象自动创建给函数.所以当我在这一行移动时,eventX和eventY的值会不断变化.现在的目的就是到鼠标移动到"DEAD SPOT"时,不传递event事件对象给p标签.我想通过这个函数得到一个事件,也就是自动传递给函数的这个事件,然后调用stopPropagation()函数,确保事件不会传播给绑定有这个属性的元

Vue学习之路第八篇:事件修饰符

学习准备: ①.顾名思义,"事件修饰符"那么肯定是用来修饰事件,既然和事件有关系,那么肯定和"v-on"指令(也可简写为:@)有关系了. ②.事件修饰符有以下几类: .stop:阻止冒泡 .prevent:阻止默认事件 .capture:事件捕获 .self:只当事件在该元素本身触发时触发回调 .once:事件只触发一次 1.阻止冒泡 页面代码: <div id="app" @click="clickDiv()">

vue学习(六) 事件修饰符 stop prevent capture self once

//html <div id="app"> <div @click="divHandler" style="height:150px,background-color:darkcyan"> <input type="button" value="点击" @click="btnHandler"> </div> <a href="

vue-01-插值表达式、事件修饰符

<!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <meta name="viewport" content

Vue——事件修饰符

事件修饰符:stop  阻止冒泡 prevent  阻止默认事件 capture  添加事件侦听器时使用事件捕获模式 self  只当时间在该元素本身(比如不是子元素)触发时触发回调 once  事件只触发一次 --------------------------------------------------------- sopt: 如果没有没有设置阻止冒泡事件,子元素就会向父元素产生冒泡事件 添加stop后 prevent: 首先我们一个a标签添加跳转链接跳至百度 没添加prevent前

VUE的事件修饰符

<div id="ON" v-on:click="handle0"> <p v-text="num"></p> @*v-on:click.stop="handle" 事件修饰符,在事件后面加.stop表示不再冒泡*@ <input id="Button1" v-on:click.stop="handle" type="button&qu

vue01----虚拟DOM、指令、事件修饰符、按键修饰符、双向数据绑定、v-if和v-show的区别

### 虚拟DOM: 虚拟DOM就是内存中的一个变量,是一个对象结构 前端效率优化:最致命的问题就是DOM操作,尽量减少DOM操作 vue的高效: 1.虚拟DOM页面渲染高效 2.js   ①获取数据②根据数据渲染界面DOM操作 for vue将开发者的精力从DOM操作上转移到了数据操作上,数据变页面变 ### 指令: 内置指令 v-if v-show v-on----事件绑定 语法:  v-on:事件名称="事件函数" v-on:click="事件函数" 简写: