vue(一)--监听事件
1.vue-on:监听事件:
demo:点击按钮,number+1
v-on 还可以缩写为 @


2.事件修饰符
.stop:等同于JavaScript中的event.stopPropagation(),阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递).prevent:等同于JavaScript中的event.preventDefault(), 默认事件指对DOM的操作会引起自动执行的动作,比如点击超链接的时候会进行页面的跳转,点击表单提交按钮时会重新加载页面等,使用".prevent"修饰符可以阻止这些事件的发生。.capture:与事件冒泡的方向相反,事件捕获由外到内.self:只会触发自己范围内的事件,不包含子元素.once:只会触发一次
事件冒泡?
即是:父元素里有 子元素, 如果点击了 子元素, 那么click 事件不仅会发生在子元素上,也会发生在其父元素上,依次不停地向父元素冒泡,直到document元素。

使用事件修饰符解决冒泡:
1. .stop阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递)
在me上的click后面加一个 .stop, 那么冒泡到了这里就结束了,就不会冒到father上面去了。
<div id="me" v-on:click.stop="doc">

2. .prevent 阻止页面刷新
只有超链和form这种会导致页面刷新的操作,.prevent 才有用。 普通的不导致页面刷新的按钮,加上这个没有任何变化。
demo:点击超链接和form不跳转网页:

3. 优先触发 .capture
在father 上增加一个.capture <div id="father" v-on:click.capture="doc">
那么当冒泡发生的时候,就会优先让father捕捉事件。点击son或者me的时候,都会优先触发它,当点击grandfather时并不会被father捕捉,只会弹出grandfather

4. .self
<div id="father" v-on:click.self="doc">
这样点击son 和 me都不会导致其触发click事件,只有点击father自己,才会导致事件发生。
点击son: son---->me-->grandfather
点击me: me---->grandfather
点击father : father---》grandfather

5. .once
<div id="father" v-on:click.once="doc">
这样father点击一次之后,就不会再监听到click了
点击son: son---me--father--grandfather
点击me: me--grandfather
点击father: grandfather
点击grandfather:grandfather

vue(一)--监听事件的更多相关文章
- vue v-on监听事件
在html或jsp页面中我们总能碰到监听DOM事件来触发javaScript代码,下面我们就简单聊聊Vue.js中的监听事件是怎么处理的. 在vue.js中监听事件是通过v-on指令来实现的,先看一下 ...
- vue之监听事件
一.v-on 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. 简写形式 用@代替 v-on: <button v-on:click="co ...
- vue 键盘监听事件
<template> <div class="hello"> <input v-on:keyup.enter="submit" t ...
- Vue 为什么在 HTML 中监听事件?
为什么在 HTML 中监听事件? 你可能注意到这种事件监听的方式违背了关注点分离(separation of concern)传统理念.不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑 ...
- Vue的watch监听事件
Vue的watch监听事件 相关Html: <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- Vue自定义事件,$on(eventName) 监听事件,$emit(eventName) 触发事件
<!--自定义事件 使用 $on(eventName) 监听事件 使用 $emit(eventName) 触发事件--> <div id="app15"> ...
- Vue子组件监听事件中传递参数的方法
在子组件中,我们可以通过以下方式监听事件: v-on:click="$emit('funcName',a)" 如果需要传多个参数,可以通过以下方式: v-on:click=&quo ...
- VUE 实现监听滚动事件,实现数据懒加载
methods: { // 获取滚动条当前的位置 getScrollTop() { let scrollTop = 0 if (document.documentElement && ...
- vue 中监听窗口发生变化,触发监听事件, window.onresize && window.addEventListener('resize',fn) ,window.onresize无效的处理方式
// 开始这样写,不执行 window.onresize = function() { console.log('窗口发生变化') } // 改成window监听事件 window.addEventL ...
随机推荐
- oracle数据库的启动、关闭、连接
登陆数据库 方法一: $ sqlplus / as sysdba [oracle@dev /]$ sqlplus / as sysdba SQL*Plus: Release Production on ...
- Shiro -- (三) 自定义Realm
简介: Realm:域,Shiro 从从 Realm 获取安全数据(如用户.角色.权限),就是说 SecurityManager 要验证用户身份,那么它需要从 Realm 获取相应的用户进行比较以确定 ...
- .net代码实现上千次ping的实现
先上代码: 多线程实现ping校验: public void PingCameraNew(List<CameraMongoDto> assetlist) { ThreadPool.SetM ...
- JavaScript之DOM基础
概述 DOM(Document Object Model)文档对象模型,针对Html和XML的文档的对象API,是一项 W3C (World Wide Web Consortium) 标准.文档对象模 ...
- Linux学习Day4:管道符、重定向与环境变量
仅仅是学习Linux系统的命令还不够,只有把多个命令按照自己想要的方式进行组合使用,才能提高工作效率.今天的内容主要是关于如何把命令组合在一起使用,使得输入的命令更准确.更高效,也为接下来的Shell ...
- 【python数据挖掘】使用词云分析来分析豆瓣影评数据
概述: 制作词云的步骤: 1.从文件中读取数据 2.根据数据追加在一个字符串里面,然后用jieba分词器将评论分开 3.设置WordCloud词云参数 4.保存最后的结果 数据:使用爬取的豆瓣影评数据 ...
- Sql Server 2008 【存储过程】 死锁 查询和杀死
1 . 使用数据库中,可能出现死锁, 导致程序 无法正常使用. Create procedure [dbo].[sp_who_lock] ( @bKillPID Bit=0 -- 0: 查询 1: 结 ...
- IDEA最新注册码 (亲测有效,可激活至 2089 年~)
申明:本教程 IntelliJ IDEA 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 分享IDEA最新注册码 (亲测有效,可激活至 2089 年~) 注意 本 ...
- C#MVC实现为雇员配置角色(完整详细+数据库)
数据库创建“用户表”“角色表”“用户角色关系表” create table roles ( RId int identity, RName varchar(), Remark varchar() ) ...
- Java连载87-酒店管理系统练习、哈希表、函数
一.创建一个酒店的房间管理系统 需求:这个酒店有五层,并且1-2层是标准间,3-4层是双人间,5层是豪华间:我们需要实时的显现各个房间的使用状态,并且我们可以预定某一个房间. package com. ...