v-on:事件名= "触发事件"可以用来绑定标签事件。也可以缩写为@事件名="触发事件" 。事件如:点击,双击,键盘按下等。当触发该事件后,就会调用语句执行。

        常见的事件:

        click: 点击一次;   当鼠标点击,触发事件

        dblclick: 双击;当鼠标双击,触发事件

        focus: 获取焦点;  当得到了光标,触发事件

        blur: 失去焦点;   当失去了光标,触发事件

        mouseover:鼠标移至;  鼠标移至某标签上方,触发事件

        mouserout:鼠标移出; 鼠标移出某标签上方,触发事件

        keyup:键盘按下;  键盘按下,触发事件

        对于触发某事件会做出的某响应可以为 函数语句对象。可以当触发事件后调用一个函数,一条语句。

        代码示例:   给三个按钮"-","+","更新得分"三个按钮标签添加点击事件。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<button @click="count--" >-</button>
			<div >当前得分为: {{count}}</div>  			
			<button @click="increment()" >+</button> <br>
			<button @click="message = '总分为:'+count" >更新得分</button>
			<div>{{message}}</div>
		</div>
		<script>
			const app = new Vue({
				el:"#app",
				data:{   
					message:"",
					count:0
					
				},
				methods:{
					increment(){
						this.count++;
					}
				}
			});	
		</script>
	</body>
</html>

        页面效果:  点击-按钮会减分,加点+会加分,点击更新得分会更新下面的数据

vueSeamlessScroll 点击事件 vue 触发点击事件_vue.js

         函数中也可以传入$event,将event事件对象传入函数中进行处理。传入$event对象后,函数可以提供一个参数用于接收,包含了触发这个事件的所有参数。

        

        代码示例:  输入框输入数据,按了回车会有提示。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<input type="text" @keyup="show($event)">
		</div>
		<script>
			const app = new Vue({
				el:"#app",
				data:{   
					message:"",
				},
				methods:{
					show(event){
						console.log(event);
						if(event.keyCode==13){
							alert("你按了回车")
						}
					}
				}
			});	
		</script>
	</body>
</html>

        页面效果: 

vueSeamlessScroll 点击事件 vue 触发点击事件_vue.js_02

vueSeamlessScroll 点击事件 vue 触发点击事件_html_03

        事件修饰符

        1、阻止冒泡 stop

         阻止冒泡的意思是,当某一个标签的事件触发也会触发该标签的父标签的事件。为了阻止此情况的发生,在绑定事件后面加上  .prevent 。如@click.stop= "函数名";

        代码测试:  叠三个div标签,在最里面div标签加入一个按钮。每个标签都绑定相同的事件函数,只是传入的值不一样


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/vue.js"></script>
	</head>
	<body>
		<div id="app" @click="show('4')">
			<div @click="show('3')">
				<div @click="show('2')">
					<button @click="show('1')">按钮</button>
				</div>
			</div>
		</div> 
		<script>
			const app = new Vue({
				el:"#app",
				data:{   
					
				},
				methods:{
					show(num){
						console.log("我被点了:"+num);
					}
				}
			});	
		</script>
	</body>
</html>

        当我们在页面点击一下按钮,控制台会出现:

vueSeamlessScroll 点击事件 vue 触发点击事件_vue.js_04

        当我们在按钮的点击事件加上prevent后。

<button @click.stop="show('1')">按钮</button>

         再次点击按钮就只会输出按钮的事件响应

vueSeamlessScroll 点击事件 vue 触发点击事件_Vue_05