前言
通过写preventDefault()的demo引出preventDefault的用法和$event的理解
一、preventDefault()停止默认动作介绍
例如:提交表单,希望验证不通过时,表单不提交。此时需要submit按钮不进行下一步动作,会有一个默认停止动作preventDefault
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html" xmlns:v-bind="http://www.w3.org/1999/xhtml"
xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
<div id="app">
输入想打开的网址: </br>
判断规则: </br>
1.必须以'http://'开头 </br>
2.不能是空字符串 </br>
<input v-model="url" placeholder="必须以'http://'开头,否则不会跳转"> </br>
<a v-bind:href="this.url" v-on:click="validate($event)">点我确定</a>
</div>
<script>
var app = new Vue({
el:"#app",
data:{
url:''
},
methods:{
validate:function (event) {
if (this.url.length == 0 || this.url.indexOf("http://") !=0){
alert("输入不符合规则")
if (event){
event.preventDefault()
}
}
}
}
})
</script>
</body>
</html>
二、$event的理解
$event是指当前触发的是什么事件(鼠标事件,键盘事件等) $event.target则指的是事件触发的目标,即哪一个元素触发了事件,这将直接获取该dom元素这个demo中,$event代表的是鼠标点击事件
参考:https://www.jianshu.com/p/3f2c664e43d8
总结
记录下学习轨迹~