位置: IT常识 - 正文

Vue.js笔记------事件(vue.js.)

编辑:rootadmin
Vue.js笔记------事件 一、事件与事件流

推荐整理分享Vue.js笔记------事件(vue.js.),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue.js in action,vue.js如何使用,vue 使用js,vuejs org,vue intro.js,vue.js使用教程,vue.js in action,vue.js使用教程,内容如对您有帮助,希望把文章链接给更多的朋友!

   1、事件与事件流

    【事件】

      JavaScript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性。常见的有加载事件、鼠标事件。

    【事件流】

      由于DOM是一个树结构,如果在父子节点绑定事件时候,当触发子节点的时候,就存在一个顺序问题,这就涉及到了事件流。页面触发一个事件时,会按照一定的顺序来响应事件,事件的响应过程为事件流。

    【js的事件流三阶段】

        事件捕捉阶段(capture phrase):事件开始由顶层对象触发,然后逐级向下传播,直到目标元素;

        处于目标阶段(target phrase):处于绑定事件的元素上;

        事件冒泡阶段(bubbling phrase):事件由具体的元素先接收,然后逐级向上传播,直到不具体的元素;(事件捕获是从上到下,而事件冒泡,是从下到上。)

2、事件冒泡与事件捕获

     事件冒泡和事件捕获分别由微软和网景公司提出,是为了解决页面中事件流(事件发生顺序)的问题。

     事件冒泡:

        微软提出了名为事件冒泡(event bubbling)的事件流。

        事件冒泡可以形象的比喻成把一颗石头投入水中,泡泡会一直从水底冒出水面。

        也就是说,事件会从最内层的元素开始发生,一直向上传播,直到document对象。

Vue.js笔记------事件(vue.js.)

        因此在事件冒泡的概念下在button按钮发生click事件的顺序应该是button→div→body→html→document.

        事件捕获:

        网景提出另一种事件流名为事件捕获(event capturing)。

        与事件冒泡相反,事件会从最外层开始发生,直到具体的元素。

        因此在事件捕获的概念下在button按钮发生click事件的顺序应该是document→html→bodv→div→button。

        后来W3C采用折中的方式,平息了网景和微软之间的战争,制定了统一的标准--先捕获在冒泡。

3、事件对象

        用户界面事件:涉及到与BOM交互的通用浏览器事件。

        load事件:在整个页面(包括所有外部资源如图片 JavaScript文件和CSS文件)加载完成后触发。

window.onload = function() { alert("页面加载完成") };

        焦点事件:在元素获得或失去焦点时触发的事件。 

        鼠标事件:使用鼠标在页面上执行某些操作时触发的事件。

        滚轮事件:使用鼠标滚轮时触发的事件。

        输入事件:向文档中输入文本时触发的事件。

        键盘事件:使用键盘在页面上执行某些操作时触发的事件,

        输入法事件:使用某些输入法时触发的事件

二、事件绑定指令

    计算正方形的面积

<body> <div id="app"> <!--方法一:以内联方式响应事件--> <!--<button v-on:click="length++">改变边长</button>--> <!--方法二:绑定方法处理事件--> <button v-on:click="changeLength">改变边长</button>: <p>正方形的边长是{{ length }},面积是{{ area }}</p> </div> <script src="../../vue.js"></script> <script> new Vue({ el:'#app', data:{ length:2 }, computed:{ area(){ return this.length*this.length }, }, methods:{ changeLength(){ this.length++ } } }) </script></body>

三、事件修饰符

  1、事件修饰符使用

<div id="app" @click="divClick"> <ul @click.self="ulClick"> <!-- 事件修饰符 --> <!-- .stop阻止事件冒泡 --> <li @click="liClick">111</li> <li>222</li> <li>333</li> </ul> </div> <script src="../../vue.js"></script> <script> new Vue({ el:'#app', methods:{ divClick(){ console.log('div'); }, ulClick(){ console.log('ul'); }, liClick(evt){ console.log('li'); // JS原生写法:阻止事件冒泡 // evt.stopPropagation() } } }) </script>

 2、事件修饰符详解

<body> <!-- 事件修饰符 event.preventDefault()/阻止状认行为或者event.stopPropogation()/阻止事件冒泡. 以上方法而要处理D0M事件细节,代码繁项. 为了解决这个问题,Vue.js提供了事件修饰符. 修饰符是以点开头的指令后缀来表示的, --> <!-- .stop阳止冒泡事件继续传播 --> <a v-on:click.stop="doThis"></a> <!-- .se1f当事件日标是当前元素自身时,触发事件 --> <ul @click.self="ulClick"></ul> <!-- .capture将原本默认的冒泡方式改为捕捉方式 --> <!-- :prevent阻止事件默认行为 --> <!--@submit.prevent提交事件不再重载顶面--> <form v-on:submit.prevent="onSubmit"></form> <!--.stop.prevent修饰符可以串联,既阻止冒泡又阻止默认行为.--> <a v-on:click.stop.prevent="doThat"></a> <!--只有修饰符--> <form v-on:submit.prevent></form></body>
本文链接地址:https://www.jiuchutong.com/zhishi/297361.html 转载请保留说明!

上一篇:Vue项目中实现ElementUI按需引入(vue在项目中怎么用的)

下一篇:垃圾分类模型训练部署教程,基于MaixHub和MaixPy-k210(垃圾分类手工小模型)

  • 项目税后现金流量的计算方法
  • 财税大管家客服电话
  • 金蝶软件中怎么登记应该税费
  • 已暂估入库原材料,确认收不到发票怎么调账
  • 工资走公账和私账哪个好
  • 使用权资产计入资产负债表哪个科目
  • 普通发票申请表怎么填写
  • 原材料供销合同和电子汇划收款回单金额不一样
  • 个税中的年金是什么意思
  • 工业企业用电是收入的几倍
  • 认缴制下收到股东转入的钱怎么入账
  • 押金 保证金
  • 火车车票怎么样
  • 为什么企业要预缴增值税
  • 国家税务总局2017 11号
  • 合同资产减值准备对应科目
  • 收到退以前年度所得税
  • 上个月的印花税,这个月交款怎么做分录
  • 个税手续费收入要交税吗
  • 企业营业利润为负的原因有哪些
  • 网上申报城建税及附加怎么操作
  • 外籍人员在境内取得所得在我国应该计征个人所得税
  • 跨省增值税专用发票可以抵扣吗
  • 员工给公司代垫的款项分录
  • 信用证保证金会退还吗
  • 小规模纳税人无票收入免税吗
  • 材料暂估入库需要备案吗
  • multiple editions是什么版本
  • 咋激活windows
  • 默认网关不可用的解决办法
  • 客户预付款了尾款怎么办
  • 房产开发企业涉及税种
  • 瓦尔德内尔精彩
  • 营业费用这个科目还在用吗
  • 电子退库款
  • 出差住宿费会计分录怎么做
  • gpt3 plug
  • web应用技术是什么
  • 正则动量
  • 通行费电子发票平台
  • python字典操作 遍历
  • 应付现金股利属于什么账户
  • 货币资金的计税基础
  • 安全宣传标牌
  • MSSQL2005在networkservice权限运行附加数据库报(Microsoft SQL Server,错误: 5120)
  • 公司设计费会计分录
  • 小规模企业现金流量表
  • 上年亏损次年赢亏怎么算
  • 填制费用报销单怎么填写
  • 公司购买汽车的购置税可以抵税吗
  • 买入返售金融资产 流动资产
  • win10无法新建文件夹怎么办?(已解决)
  • 如何抛弃七情六欲
  • win7旗舰版激活期限已过
  • win8系统计算器快捷键
  • macbook做热点
  • 进程aissca.exe
  • win7系统IE浏览器打开跳转到360浏览器,怎么阻止
  • windows 10为什么不能关掉自动更新
  • 工商网银登陆
  • win8.1自带usb3.0驱动吗
  • windows打开
  • win7旗舰版玩dnf总是未响应
  • linux安装linux
  • javascript登录验证
  • 批处理命令教程 pdf
  • 视觉观点
  • jquery获取document对象
  • unity3d unreal
  • dom操作的方法
  • python simpy
  • javascript如何定义函数
  • 置顶聊天折叠怎么关闭
  • 数据字典实例详解
  • Python实现类似jQuery使用中的链式调用的示例
  • 深圳企业所得税税率多少
  • 湖南国税电子税务局网
  • 税务登记时必须要填银行账号吗
  • 国家税务总局公告2017年第21号
  • 烟台税务系统缴费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设