<form v-on:submit.prevent="onSubmit"></form>
vue中prevent修饰符相当于调用
event.preventDefault()
:
event.preventDefault() 方法阻止元素发生默认的行为。
-
当点击提交按钮时阻止对表单的提交
-
阻止以下 URL 的链接
之前关于
vue
事件
修饰符
和按键
修饰符
的一点分析,最近需要回顾,就顺便发到随笔上了
在事件处理程序
中
调用
event
.
preventDefault
() 或
event
.stopPropagation() 是非常常见的需求。尽管我们可以在 methods
中
轻松实现这点,但更好的方式是:methods 只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。
为了解决这个问题,
Vue
.
js
为 v-on 提供了 事件
修饰符
。通过由点(.)表示的指令后缀来
调用
修饰符
。
.pr
event
.capture
.self
.once
<div @click='doThis' style="widt
<div class="box1" @click.capture="showMsg(1)">
<div class="box2" @click="showMsg(2)">box2</div>
事件
修饰符
处理了许多DOM事件的细节,帮助我们快速的完成一些事件动作。
例如v-on的
修饰符
有以下:
.stop -
调用
event
.stopPropagation()。
.pr
event
-
调用
event
.
preventDefault
()。
.capture - 添加事件侦听器时使用 capture 模式。
.self - 只当事件是从侦听器绑定的元素本身触发时才触发回调。
.{keyCode | keyAlias} - 只当事件是从特定键触发时才触发回调。
.native - 监听组件根
1.
event
.stopPropagation()方法这是阻止事件的冒泡方法,不让事件向document上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开,2.
event
.
preventDefault
()方法这是阻止默认事件的方法,
调用
此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素;3.return false ;这个方法比较暴力,
感谢<https://www.cnblogs.com/cuncunjun/p/7493782.html>的启发,方法很有用!
好几个月以前,我写了一个类似于自动回复那种的客服页面,嵌入到公司开发的app里。上周测试突然找到我,说
页面在滑动的时候,输入框也会跟着上下滑动,而这个问题只在ios系统上出现,Andr...
方法一:使用
vue
阻止子级元素的click事件冒泡。简单得:可以直接用stop
<div @click="test1()">
<span @click.stop="test2()">按钮1</span>
<span>按钮2</span>
这样点击div里面的按钮1,就不会触发div绑定时间test1()方法。
方法二:可以自己写个阻止冒泡事件 然后在发生冒泡的元素
中
调用
这个事件
在事件处理程序
中
调用
event
.
preventDefault
() 或
event
.stopPropagation() 是非常常见的需求。尽管我们可以在方法
中
轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。
以下是
Vue
提供的一些事件
修饰符
:
.stop:阻止事件冒泡,
相当于
event
.stopPropagation()
.pr
event
:取消预设行为,
相当于
event
.
preventDefault
()
.capture:启用事件捕获(与冒泡相反,从外到内进行事
2.stop:阻止事件冒泡
3.once:事件只触发一次
4.capture:使用事件的捕获模式:事件分为捕获阶段和冒泡阶段,事件捕获阶段事件执行顺序是有外向内,就是父向子,冒泡阶段事件执行时由内向外,子向父
5.self:只有
event
.target是当前操作元素是才触发事件
6.passsive:事件的默认行为立即执行,无需等待事件.
1.
event
.stopPropagation()方法
这是阻止事件的冒泡方法,不让事件向document上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开,
2.
event
.
preventDefault
()方法
这是阻止默认事件的方法,
调用
此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素;
3.return false ;
这个方法比较暴力,他会同事阻止事件冒泡也会阻止默认事件;写上此代码,连接不会被打开,事件也不会传递到上一层的父元素;可以