03Vue事件
Vue提供了事件的绑定,方法写在methods对象中。
绑定dom中有两种方法:
方法一:v-on:click/dblclcick/mouseOver/mouseOut=“方法名”等等
这种和JQuery的事件差不多,在原生态js中去掉了on。
方法二:@click/dblclcick/mouseOver/mouseOut="方法名"。
相对于方法一,将v-on:替代为@。还是比较好用的。
事件修饰符:stop:阻止事件冒泡。事件冒泡指的是点击子元素,父元素的点击事件也被触发了
prevent:阻止默认事件触发。比如a标签默认点击会跳转,这时可以阻止这个触发
capture:使用捕获模式。html默认事件从里到外进行传播,捕获模式则会从外到进行触发
self:只有当前元素能够触发,既不能通过传播的方式
once:只能触发一次
这几个修饰符可以串联修饰,例如java中的修饰符
例如给a标签:
<div>
<a href="1.jpg" @click.prevent.stop.capture.self></a>
</div>
在Vue2.0也多添加几个按键和鼠标修饰符,这样不用记一些键码。
注意一下,虽然Vue可以让组件自定义事件,但是不要使用驼峰命名法,html会将大写的字母变为小写,
可能导致出不来结果。Vue2.0好像已经不支持绑定的body上。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue事件</title>
<script type="text/javascript" src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script> </head>
<body>
<div id=box>
<p>原始的方式</p>
<input type="button" value="点击一下" @click="say1" />
<hr> <p>Vue事件绑定之一 v-on:click/dblclick/...</p>
<input type="button" value="Vue事件绑定之一" v-on:click="say1">
<hr> <p>Vue事件绑定之二 @click/dblclick/...</p>
<input type="button" value="Vue事件绑定之二" @click="say1">
<hr> <p>Vue解决事件冒泡 </p>
<div @click="say1">
<input type="button" value="未解决事件冒泡" @click="say1">
</div>
<div @click="say2">
<p>原始方式解决事件冒泡 </p>
<input type="button" value="原始方式解决事件冒泡" @click="say2($event)">
</div>
<div @click="say3">
<p>Vue方式解决事件冒泡 </p>
<input type="button" value="Vue方式解决事件冒泡" @click.stop="say3()">
</div> <hr>
<p>html默认触发的事件</p>
<a href="http://cpc.people.com.cn/NMediaFile/2017/1018/MAIN201710181352077766232230363.jpg">进入十九大</a>
<p>html $event阻止默认触发的事件</p>
<a href="http://cpc.people.com.cn/NMediaFile/2017/1018/MAIN201710181352077766232230363.jpg" @click="say4($event)">进入十九大</a>
<p>html Vue阻止默认触发的事件</p>
<a href="http://cpc.people.com.cn/NMediaFile/2017/1018/MAIN201710181352077766232230363.jpg" @click.prevent="say5()">进入十九大</a>
</div>
</body>
<script type="text/javascript">
new Vue({
el:"#box",
data:{},
methods:{
say1:function(){
console.log(this);
alert("hello v-on");
},
say2:function(ev){
alert("原始方式解决事件冒泡");
ev.cancelBubble=true; },
say3:function(){
alert("Vue方式解决事件冒泡");
},
say4:function(ev){
console.log(this);
alert("阻止默认触发事件");
ev.preventDefault();
},
say5:function(){
console.log(this);
alert("vue阻止默认触发事件");
}
}
}); </script>
</html>
03Vue事件的更多相关文章
- JNI详解---从不懂到理解
转载:https://blog.csdn.net/hui12581/article/details/44832651 Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 C ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- 关于 Chrome 浏览器中 onresize 事件的 Bug
我在写插件时用到了 onresize 事件,在反复地测试后发现该事件在 Chrome 及 Opera(内核基本与 Chrome 相同,以下统称 Chrome)浏览器打开时就会执行,这种情况也许不能算作 ...
- MVVM设计模式和WPF中的实现(四)事件绑定
MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- C++中的事件分发
本文意在展现一个C++实现的通用事件分发系统,能够灵活的处理各种事件.对于事件处理函数的注册,希望既能注册到普通函数,注册到事件处理类,也能注册到任意类的成员函数.这样在游戏客户端的逻辑处理中,可以非 ...
- 移动端IOS点击事件失效解决方案
解决方案 解决办法有 4 种可供选择: 1 将 click 事件直接绑定到目标元素(即 .target)上 2 将目标元素换成 <a> 或者 button 等可点击的元素 3 将 clic ...
- Android笔记——Button点击事件几种写法
Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...
- HTML 事件(一) 事件的介绍
本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...
- HTML 事件(二) 事件的注册与注销
本篇主要介绍HTML元素事件的注册.注销的方式. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流.事件委托 4. ...
随机推荐
- 201521123011 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 协议.IP.域名.端口: 常用应用层协议:http, ftp 域名(通过域名可以找到IP)用ping测试 ...
- 201521123119《Java程序设计》第11周学习总结
1. 本周学习总结 Q1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 Q1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问 ...
- 201521123090《Java程序设计》第10周学习总结
本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...
- Junit4学习(四)Junit4常用注解
一,背景知识: 由前面的知识可以知道: /* * @Test:将一个普通方法修饰为一个测试方法 * @Test(exception=XXX.class) * @Test ...
- Hibernate第十篇【Hibernate查询详解、分页查询】
前言 在Hibernate的第二篇中只是简单地说了Hibernate的几种查询方式-.到目前为止,我们都是使用一些简单的主键查询阿-使用HQL查询所有的数据-.本博文主要讲解Hibernate的查询操 ...
- 利用ASCII码生成指定规则的字符串
/** * 上送终端编号的后两位生成规则 总共可以生成 (36*36-1)1295个编号 * 01...09 0A...0Z * 10...19 1A...1Z * ............... * ...
- pig hive hbase比较
Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我 ...
- 《Node.js在CLI下的工程化体系实践》成都OSC源创汇分享总结
背景: 随着开发团队规模不断发展壮大,在人员增加的同时也带来了协作成本的增加,业务项目越来越多,类型也各不相同.常见的类型有组件类.活动类.基于React+redux的业务项目.RN项目.Node.j ...
- Mysql 基于 Amoeba 的 读写分离
首先说明一下amoeba 跟 MySQL proxy在读写分离的使用上面的区别: 在MySQL proxy 6.0版本 上面如果想要读写分离并且 读集群.写集群 机器比较多情况下,用mysql pro ...
- MyBatis注解select in参数
/** * * @param ids '1,2,3' * @return */ @Select("select * from user_info where id in (${ids})& ...