23-Vue之事件修饰符
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23-Vue之事件修饰符相关的知识,希望对你有一定的参考价值。
事件修饰符
前言
- 本篇来学习两个常用的事件修饰符
阻止默认行为
- .prevent : 阻止默认行为
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>事件修饰符</title>
</head>
<body>
<div id="app">
<p>message</p>
<a href="https://blog.csdn.net/it_heima" @click="showMes">跳转小白的博客</a>
<!-- .prevent阻止默认行为-->
<a href="https://blog.csdn.net/it_heima" @click.prevent="showInfo">跳转小白的博客</a>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
// 创建vue的实例对象
const app = new Vue(
// el 属性是固定写法,表示当前vue实例要控制页面上的哪个区域,接收的值是一个选择器
el: '#app',
// data对象是要渲染页面上的数据
data:
message: '事件修饰符学习!'
,
methods:
showMes(e)
console.log('被点击了!')
// 原生 阻止默认行为写法,对应a标签来说就是阻止跳转
e.preventDefault()
,
showInfo()
console.log('被点击了!')
);
</script>
</body>
</html>
阻止冒泡事件
- .stop :阻止冒泡事件
- 如下为未阻止冒泡事件示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>事件修饰符</title>
</head>
<body>
<div id="app">
<p>message</p>
<a href="https://blog.csdn.net/it_heima" @click="showMes">跳转小白的博客</a>
<!-- .prevent阻止默认行为-->
<a href="https://blog.csdn.net/it_heima" @click.prevent="showInfo">跳转小白的博客</a>
<hr>
<div style="height: 150px;background-color: orange;padding-left: 100px;line-height: 150px" @click="divHandler">
<button @click="btnHandler">按钮</button>
</div>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
// 创建vue的实例对象
const app = new Vue(
// el 属性是固定写法,表示当前vue实例要控制页面上的哪个区域,接收的值是一个选择器
el: '#app',
// data对象是要渲染页面上的数据
data:
message: '事件修饰符学习!'
,
methods:
showMes(e)
console.log('被点击了!')
// 原生 阻止默认行为写法,对应a标签来说就是阻止跳转
e.preventDefault()
,
showInfo()
console.log('被点击了!')
,
btnHandler()
console.log('btn 点击事件')
,
divHandler()
console.log('div 点击事件')
);
</script>
</body>
</html>
- 阻止冒泡事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>事件修饰符</title>
</head>
<body>
<div id="app">
<p>message</p>
<a href="https://blog.csdn.net/it_heima" @click="showMes">跳转小白的博客</a>
<!-- .prevent阻止默认行为-->
<a href="https://blog.csdn.net/it_heima" @click.prevent="showInfo">跳转小白的博客</a>
<hr>
<div style="height: 150px;background-color: orange;padding-left: 100px;line-height: 150px" @click="divHandler">
<button @click="btnHandler">按钮</button>
<button @click.stop="btnHandler1">按钮</button>
</div>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
// 创建vue的实例对象
const app = new Vue(
// el 属性是固定写法,表示当前vue实例要控制页面上的哪个区域,接收的值是一个选择器
el: '#app',
// data对象是要渲染页面上的数据
data:
message: '事件修饰符学习!'
,
methods:
showMes(e)
console.log('被点击了!')
// 原生 阻止默认行为写法,对应a标签来说就是阻止跳转
e.preventDefault()
,
showInfo()
console.log('被点击了!')
,
btnHandler(e)
console.log('btn 点击事件')
// 原生阻止冒泡事件
e.stopPropagation()
,
btnHandler1()
console.log('btn 点击事件1')
,
divHandler()
console.log('div 点击事件')
);
</script>
</body>
</html>
以上是关于23-Vue之事件修饰符的主要内容,如果未能解决你的问题,请参考以下文章
Vue之@click事件修饰符@click.stop与@click.prevent按键修饰符@keyup.enter