1.事情对象

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script src="http://unpkg.com/vue/dist/vue.js"></script> <script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#box',
methods:{
show:function(event){
console.log(event); //event 这个就是事件对象了
}
}
});
}
</script>
</head>
<body>
<div id="box">
<input type="button" value="按钮" @click="show($event)">
</div>
</body>
</html>

通过show($event)把事件对象传到方法里

2.事件冒泡

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script src="http://unpkg.com/vue/dist/vue.js"></script> <script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#box',
methods:{
show:function(){
alert(1);
},
show1:function(){
alert(2);
}
}
});
}
</script>
</head>
<body>
<div id="box">
<div @click="show1()">
<input type="button" value="按钮" @click="show()">
</div>
</div>
</body>
</html>

点击按钮的话他会,执行show ,show1方法,依次弹出1,2。

怎么来阻止

<1> 利用我们上面讲过的event对象:  event.cancelBubble = true;   //这种就阻止了

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script src="http://unpkg.com/vue/dist/vue.js"></script> <script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#box',
methods:{
show:function(event){
alert(1);
event.cancelBubble = true;
},
show1:function(){
alert(2);
}
}
});
}
</script>
</head>
<body>
<div id="box">
<div @click="show1()">
<input type="button" value="按钮" @click="show($event)">
</div>
</div>
</body>
</html>

<2>利用vue的方法阻止冒泡:给HTML元素绑定click事件的时候,改为@click.stop="show()"

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script src="http://unpkg.com/vue/dist/vue.js"></script> <script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#box',
methods:{
show:function(event){
alert(1);
//event.cancelBubble = true;
},
show1:function(){
alert(2);
}
}
});
}
</script>
</head>
<body>
<div id="box">
<div @click="show1()">
<input type="button" value="按钮" @click.stop="show()">
</div>
</div>
</body>
</html>

3.默认行为

比如contextmenu右键菜单

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<!-- // <script src="vue.js"></script> -->
<script src="http://unpkg.com/vue/dist/vue.js"></script> <script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#box',
methods:{
show:function(){
alert(1);
},
show1:function(){
alert(2);
}
}
});
}
</script>
</head>
<body>
<div id="box">
<input type="button" value="按钮" @contextmenu="show()">
<input type="button" value="按钮1" @contextmenu.prevent="show1()"> <p>//按钮右击点下去会依次出现 弹窗 1, 还有右击的默认菜单</p>
<p>//按钮1右击只出现 弹窗 2</p>
</div>
</body>
</html>

最新文章

  1. 关于搭建一个高性能网站的服务器的架设思路以及nginx测试的并发
  2. mono+jexus 之连接数据库
  3. java网络编程基础
  4. 淘宝天猫关键词SEO优化
  5. Android WIFI 启动流程
  6. laravel homestead vagrant box安装使用,问题,及相关命令
  7. OC 语法基础一
  8. 数据结构- 串的模式匹配算法:BF和 KMP算法
  9. Swift 2.0 字符串学习笔记(建议掌握OC字符串知识的翻阅)
  10. php 启动过程 - sapi MSHUTDOWN 过程
  11. 一张图告诉你最流行的 7 个 JavaScript框架特点
  12. 按键(vb)启动指定目录的程序以及获取当前应用路径
  13. Bzoj4872: [Shoi2017]分手是祝愿
  14. struts2 contextMap
  15. IDEA中maven模块变成灰色
  16. 将json对象转化成jsonp对象
  17. Salesforce的公式和验证规则
  18. java mail smtp port
  19. [UE4]运行时进入观察模式
  20. 机器学习与Tensorflow(3)—— 机器学习及MNIST数据集分类优化

热门文章

  1. 简述MVC
  2. FluentValidation:C#后端输入验证框架的官方文档解读
  3. Win10企业版转专业版
  4. Git 提交更新到仓库(分布式版本控制系统)
  5. VM页面中遍历枚举类
  6. 《JAVA与模式》之单例模式(转载)
  7. C++的字符串格式化库
  8. Asp.net2.0之自定义控件ImageButton
  9. [转]Maven - 环境配置
  10. git 放弃本地修改(转)