【Vue2.0学习】—事件处理和事件修饰符(三十二)

简介: 【Vue2.0学习】—事件处理和事件修饰符(三十二)

事件处理

事件的基本使用:

1、使用v-on:XXX或@XXX绑定事件,其中XXX是事件名

2、事件的回调需要配置在methods对象中,最终会在vm身上

3、methods中配置的函数,不要使用箭头函数,使用箭头函数指向window,否则就是vm

4、methods中配置的函数,都是被Vue所管理的函数,this的指向是vm或组件实例对象

5、@click="demo"和@click="demo($event)"效果一致,但后者可以传参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>初识Vue</title>
    <!-- 引入Vue -->
    <script src="../js/vue.js"></script>
    <!-- 
    事件的基本使用:
    1、使用v-on:XXX或@XXX绑定事件,其中XXX是事件名
    2、事件的回调需要配置在methods对象中,最终会在vm身上
    3、methods中配置的函数,不要使用箭头函数,使用箭头函数指向window,否则就是vm
    4、methods中配置的函数,都是被Vue所管理的函数,this的指向是vm或组件实例对象
    5、@click="demo"和@click="demo($event)"效果一致,但后者可以传参
 -->
</head>
<body>
    <div id="root">
        <h1>欢迎来到{{name}}</h1>
        <!-- <button v-on:click="showInfo">欢迎来到湖南</button> -->
        <button @click="showInfo1">点我提示信息1(不传参)</button>
        <button @click="showInfo2($event,22)">点我提示信息2(传参)</button>
    </div>
    <script type="text/javascript">
        const vm = new Vue({
            el: '#root',
            data: { //数据供el所指定的容器去使用
                name: '湖南'
            },
            methods: {
                showInfo1(event) {
                    //console.log(event.target.innerText);
                    alert('长沙欢迎你')
                        // console.log(this) //此处的this是vm
                },
                showInfo2(event, number) {
                    //console.log(event.target.innerText);
                    alert('长沙欢迎你')
                        // console.log(this) //此处的this是vm
                }
            }
        });
    </script>
</body>
</html>

Vue中的事件修饰符

1、prevent:阻止默认事件(常用)
2、stop:阻止事件冒泡(常用)
3、once:事件只触发一次(常用)
4、capture:使用事件的捕获形式
5、self:只有event.target是当前操作的元素时才是触发事件
6、passive:事件的默认行为立即执行,无需等待事件回调执行完毕 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
    <style>
        div {
            margin-top: 35px;
        }
        button {
            margin-top: 20px;
        }
        .demo {
            height: 50px;
            background-color: skyblue;
        }
        .div1 {
            background-color: skyblue;
            height: 100px;
        }
        .div2 {
            background-color: orange;
            height: 50px;
        }
        .light {
            width: 200px;
            height: 200px;
            background-color: peru;
            overflow: auto
        }
        li {
            height: 200px;
        }
    </style>
</head>
<!-- 
    Vue中的事件修饰符
    1、prevent:阻止默认事件(常用)
    2、stop:阻止事件冒泡(常用)
    3、once:事件只触发一次(常用)
    4、capture:使用事件的捕获形式
    5、self:只有event.target是当前操作的元素时才是触发事件
    6、passive:事件的默认行为立即执行,无需等待事件回调执行完毕
 -->
<body>
    <div id="root">
        <h2>欢迎来到{{name}}</h2>
        <!--    1、prevent:阻止默认事件(常用) -->
        <a href="http://www.baidu.com" @click.prevent="show">点我提示信息</a>
        <!-- 2、stop:阻止事件冒泡(常用) -->
        <div class="demo" @click="show">
            <button @click.stop="show">点我提示信息</button>
        </div>
        <!--  3、once:事件只触发一次(常用) -->
        <button @click.once="show">点我提示信息</button>
        <!-- 4、capture:使用事件的捕获形式 -->
        <div class="div1" @click="showmesg(1)">
            div1
            <div class="div2" @click="showmesg(2)">
                div2
            </div>
        </div>
        <!--     5、self:只有event.target是当前操作的元素时才是触发事件
-->
        <div class="demo1" @click.self=" show">
            <button @click="show">点我提示信息</button点我提示信息</button>
        </div>
        <!--
    6、passive:事件的默认行为立即执行,无需等待事件回调执行完毕
      -->
        <!-- 滚动条@scroll -->
        <!-- <ul @scroll="demo" class="light"> -->
        <!-- 滚轮@wheel -->
        <ul @wheel="demo" class="light">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
        </ul>
    </div>
    <script>
        const vm = new Vue({
            el: "#root",
            data: {
                name: '北京'
            },
            methods: {
                show(e) {
                    //阻止跳转
                    //  e.preventDefault();
                    alert('哈哈哈');
                },
                showmesg(msg) {
                    console.log(msg);
                },
                demo() {
                    console.log('滚动');
                }
            }
        })
    </script>
</body>
</html>


相关文章
|
2月前
|
JavaScript
vue学习(10)事件修饰符
vue学习(10)事件修饰符
42 3
|
3月前
|
JavaScript
Vue学习之--------事件的基本使用、事件修饰符、键盘事件(2022/7/7)
这篇文章是关于Vue事件处理的学习指南,包括事件的基本使用、事件修饰符和键盘事件。文中首先介绍了事件的基本使用方法,包括使用`v-on:xxx`或`@xxx`绑定事件,以及在`methods`对象中配置回调函数。然后,文章通过代码实例和测试效果,展示了如何使用事件修饰符来增强事件处理的功能,例如阻止默认行为、阻止事件冒泡等。最后,文章还介绍了Vue中的键盘事件处理,包括常用的按键别名和系统修饰键的使用,并通过代码示例展示了如何检测特定按键的按下。整篇文章通过详细的代码实例和清晰的测试效果截图,帮助读者理解和掌握Vue中事件处理的相关知识点。
Vue学习之--------事件的基本使用、事件修饰符、键盘事件(2022/7/7)
|
JavaScript
39Vue - 事件处理器(事件修饰符)
39Vue - 事件处理器(事件修饰符)
43 0
|
6月前
|
JavaScript
Vue之事件修饰符
Vue之事件修饰符
|
6月前
|
JavaScript
vue常用9个事件修饰符
Vue.js 提供了一些事件修饰符,用于处理 DOM 事件的细节。`事件修饰符是由点号(.)表示的后缀,放在事件名后面`。例如 v-on:click.stop 或 @click.stop。
|
6月前
|
JavaScript 开发者
Vue 事件修饰符详解
Vue事件修饰符是Vue.js框架提供的一种功能,用于在处理DOM事件时提供更多的控制和便利性。它们可以用来改变事件的行为,例如阻止默认行为、阻止事件冒泡、只触发一次等。本文将介绍Vue事件修饰符的作用、使用方式以及使用示例,并对其在各种场景下的应用进行总结。
115 0
|
11月前
【Vue2.0】—事件处理和事件修饰符(二)
【Vue2.0】—事件处理和事件修饰符(二)
|
存储 设计模式 JavaScript
【Vue2.0源码学习】实例方法篇-事件相关方法
【Vue2.0源码学习】实例方法篇-事件相关方法
32 0
|
JavaScript
Vue2事件及事件修饰符
从基础到实战,我们一环都不要少!
56 0
|
JavaScript
Vue事件修饰符
Vue事件修饰符