1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>事件的基本使用</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 </head>
8 <body>
9 <!--
10 事件的基本使用:
11 1.使用v-on:xxx 或者简写 @xxx 绑定事件,其中xxx是事件名
12 2.事件的回调需要配置在methods对象中,最终会在vm上
13 3.methods中配置的函数,不要用箭头函数!否则this就不是vm了
14 4.methods中配置的函数,都是被Vue关联的函数,this的指向是vm 或 组件实例对象
15 5.@click="demo" 和 @click="demo($event)" 效果一样,但后者可以船参数
16 -->
17 <div id="root">
18 <h1>hello, {{name}}</h1>
19 <button v-on:click="showInfo1">点我提示信息(不传参)</button>
20 <button @click="showInfo2($event,66)">点我提示信息(传参)</button>
21 </div>
22 </body>
23
24 <script type="text/javascript" >
25 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
26
27 let vm = new Vue({
28 el: '#root',
29 data: {
30 name: 'Jack'
31 },
32 methods: {
33 showInfo1(event){
34 console.log(event.target.innerText);// target事件对象,发生事件的事件目标(元素)
35 console.log(this); // 这里的this就是vm(vue对象)
36 alert('showInfo1');
37 },
38 showInfo2: function (event, number) {
39 console.log(number);
40 alert('showInfo2');
41 }
42 }
43 })
44 vm.$mount('#root') // el的第二种写法
45 </script>
46 </html>
  1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>事件修饰符</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 <style>
8 *{
9 margin-top: 5px;
10 }
11 .demo2{
12 height: 50px;
13 background-color: skyblue;
14 }
15 .demo4{
16 padding: 5px;
17 background-color: skyblue;
18 }
19 .demo4_1{
20 padding: 5px;
21 background-color: orange;
22 }
23 .list{
24 width: 200px;
25 height: 200px;
26 background-color: peru;
27 overflow: auto;
28 }
29 li{
30 height: 100px;
31 }
32 </style>
33 </head>
34 <body>
35 <!--
36 Vue中的事件修饰符(事件修饰符可以连续使用,如:@click.prevent.stop,先阻止默认事件,再阻止冒泡事件,是有优先顺序的,谁在前谁优先):
37 1.prevent: 阻止默认事件(常用)
38 2.stop:阻止事件冒泡(常用)
39 3.once:事件只触发一次(常用)
40 4.capture:使用事件的捕获模式
41 5.self:只有event.target是当前操作的元素时才会触发事件
42 6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕
43 -->
44 <div id="root">
45 <h1>hello, {{name}}</h1>
46 <!-- 1.prevent: 阻止默认事件(常用) -->
47 <a href="http://baidu.com" @click.prevent="showInfo1">点我提示信息</a>
48 <!-- 2.stop:阻止事件冒泡(常用) -->
49 <div class="demo2" @click="showInfo2" >
50 <!-- 冒泡事件会先调用button的showInfo2事件,然后有执行div的showInfo2事件 -->
51 <button @click.stop="showInfo2">点我提示信息</button>
52 </div>
53 <!-- 3.once:事件只触发一次(常用) -->
54 <button @click.once="showInfo2">点我提示信息</button>
55 <!-- 4.capture:使用事件的捕获模式 -->
56 <div class="demo4" @click.capture="showInfo4(1)">
57 div1
58 <div class="demo4_1" @click="showInfo4(2)">
59 div2
60 </div>
61 </div>
62 <!-- 5.self:只有event.target是当前操作的元素时才会触发事件 -->
63 <!-- showInfo4(1) 冒泡事件的时候只有event.target是当前操作的元素时才会触发事件 -->
64 <div class="demo4" @click.self="showInfo4(1)">
65 div1
66 <div class="demo4_1" @click="showInfo4(2)">
67 div2
68 </div>
69 </div>
70 <!-- 6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕 -->
71 <!-- scroll:滚动条滚动的时候触发
72 wheel:鼠标滚轮滚动的时候触发
73 scroll与wheel区别:滚动条滚动到底部的时候因为不能继续往下滚动所以你再往下滚动的时候不会触发,但鼠标滚轮可以一直往下滚动不管滚动条是不是到底了,它会一直触发
74 -->
75 <ul @wheel.passive="demo6" class="list">
76 <li>1</li>
77 <li>2</li>
78 <li>3</li>
79 <li>4</li>
80 </ul>
81 </div>
82 </body>
83
84 <script type="text/javascript" >
85 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
86
87 let vm = new Vue({
88 el: '#root',
89 data: {
90 name: 'Jack'
91 },
92 methods: {
93 showInfo1(event){
94 // event.preventDefault(); // 阻止默认事件(当前a标签的href)的触发。Vue中使用prevent事件修饰符一样的效果
95 alert('showInfo1');
96 },
97 showInfo2(e) {
98 // e.stopPropagation(); // 这样就阻止了div的冒泡事件 Vue可以直接使用stop修饰符
99 alert('我是提示信息!');
100 },
101 showInfo4(number){
102 // 冒泡事件的调用流程:捕获事件,从父控件到子控件依次捕获,然后冒泡依次执行,所以依次是showInfo4(2)、showInfo4(1)
103 // 当设置事件修饰符capture时,事件在捕获的时候直接执行,依次是showInfo4(1)、showInfo4(2)
104 console.log(number);
105 },
106 demo6(e){
107 // 当你滚动鼠标滚轮的时候会立即执行该方法(demo6 我们定义的事件回调),
108 // 然后去滚动条会往上或者往下滚动(默认回调)
109 // 但当你使用passive 事件修饰符的时候,它的流程就变成立即执行默认回调,不再等待demo6执行完了再执行
110 for (let i = 0; i < 1000; i++){
111 console.log('@');
112 }
113 console.log('累坏了');
114 }
115 },
116
117 })
118 vm.$mount('#root') // el的第二种写法
119 </script>
120 </html>

Vue 事件的基本使用 && 事件修饰符的更多相关文章

  1. Vue学习笔记十一:按键修饰符和自定义指令(钩子函数)

    目录 padStart:补位 按键修饰符 Vue提供的按键修饰符 自定义按键修饰符 自定义指令 自定义指令的使用 钩子函数 钩子函数参数 使用钩子函数的bingding参数 私有自定义指令 钩子函数的 ...

  2. vue.js(13)--按键修饰符

    v-on监听事件时可添加按键修饰符 <!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` --> <input v-on:keyup.enter=&q ...

  3. 043——VUE中组件之使用.sync修饰符与computed计算属性实现购物车原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Vue中v-model解析、sync修饰符解析

    上善若水,水善利萬物而不爭.——<道德經> 简介 在平时开发是经常用到一些父子组件通信,经常用到props.vuex等等,这里面记录另外的三种方式v-model.sync是怎么使用,再说是 ...

  5. 第二章 Vue快速入门-- 28 自定义按键修饰符

    事件处理-按键修饰符 js 里面的键盘事件对应的键码 <!DOCTYPE html> <html lang="en"> <head> <m ...

  6. vue.js_03_vue.js的样式和修饰符

    1.vue.js的样式 <body> <div id="app"> <h1 :style="styleObj1">这是一个h ...

  7. Vue中v-model指令的常用修饰符

    v-model指令有三个可以选用的修饰符:.lazy..number以及.trim.vue官方对此的描述为: .number-输入字符串转为有效的数字 .lazy-取代input监听change事件 ...

  8. 第六十二篇:Vue的双向绑定与按键修饰符

    好家伙,依旧是vue的基础 1.按键修饰符 假设我们在一个<input>框中输入了12345,我们希望按一下"Esc" 然后删除所有前面输入的内容,这时候,我们会用到按 ...

  9. VUE组件3 数据流和.sync修饰符

    单向数据流:数据通过prop从父组件传递到子组件中,当父级组件中的数据更新时,传子组件也会更新,但不能在子组件中修改.防止子组件在无意中修改,改变父级组件状态 然而,双向数据绑定在某些情况下有用.如果 ...

  10. vue 表单基本 表单修饰符

    表单的基础 利用v-model进行双向数据绑定: 1.在下拉列表中,将v-model写在select中 2.单选框和复选框需要每个按钮都需要写上v-model 3.v-model在输入框中获取得是输入 ...

随机推荐

  1. 关于position的relative和absolute分别是相对于谁进行定位的

    position:absolute; 他的意思是绝对定位,他是参照浏览器的左上角,配合TOP.RIGHT.BOTTOM.LEFT(下面简称TRBL)进行定位,在没有设定TRBL,默认依据父级的做标原始 ...

  2. QTP——功能测试

    一.前言(课设目的及内容) QTP是quicktest Professional的简称,是一种自动测试工具.使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本.因此 ...

  3. [codeforces] 暑期训练之打卡题(一)

    每个标题都做了题目原网址的超链接 Day1<Vanya and Lanterns> 题意: 一条长度为 l 的街道,在这条街道上放置了n个相同的灯,街道一端位置记为0,每个灯的位置在ai处 ...

  4. 很好用的vscode 插件 Open PHP/HTML/JS In Browser 让php文件直接在浏览器打开

    p { font-size: 25px } <body> <h1>安装插件</h1> <img src="https://img2020.cnblo ...

  5. [gym102978C] Count Min Ratio

    [gym102978C] Count Min Ratio 给定 \(B\) 个蓝色的球. \(R\) 个红色的球以及一个绿色的球,同颜色的球不可区分.对于一种球的排列方式,记 \(l_B,r_B,l_ ...

  6. 功耗优化之Sensor功耗分析

    功耗优化之Sensor功耗分析 一.Sensor功耗问题分类 二.Sensor功耗问题分析方法 SSC子系统引起系统无法进入AOSD问题分析: SSC子系统频繁唤醒AP问题分析方法 SSC子系统的GP ...

  7. 《C Primer Plus》第六版笔记--1~3章

    目录 第一章 初识C语言 1 使用C语言的7个步骤 1.1 定义程序目标 1.2 设计程序(功能实现) 1.3 编写代码 1.4 编译 1.5 运行程序 1.6 测试和调试程序 1.7 维护和修改代码 ...

  8. 跨域问题和使用 cookie 的限制

    前言 在我的文章 使用 cookie 的身份验证和授权 的最后,讲到了跨域问题,这篇文章就简单介绍跨域的相关知识,并说明在 net core 中怎么设置跨域. 使用的版本为 net6,并使用 Mini ...

  9. MASA Auth - SSO与Identity设计

    AAAA AAAA即认证.授权.审计.账号(Authentication.Authorization.Audit.Account).在安全领域我们绕不开的两个问题: 授权过程可靠:让第三方程序能够访问 ...

  10. wsl2环境搭建

    序言 我电脑配置不高,开虚拟机跑linux总觉得太卡.最近才了解到windows早就上了wsl2--一款较为轻量的虚拟机软件.所以本篇博客偏笔记向,存粹记录以便多次使用. 环境 宿主机windows1 ...