1、綁定監聽@click:(以監聽click為例,其他如keyup,用法類似)
v-on:click="fun"
@click="fun"
@click="fun(參數)"
<button @click="test1">test1</button>
<button @click="test2('abc')">test2</button>
<button @click="test3('abcd', $event)">test3</button>
methods: {
test1(eve) {//test1函數沒有參數,默認傳遞 $event
alert(eve.target.innerHTML) //test1
},
test2 (msg) { //test1函數有參數,傳遞該參數
alert(msg) // abc
},
test3 (msg, event) { //有參數,如果想獲取到enevt,則函數中需要寫 $event
alert(msg+'---'+event.target.textContent) // abcd---test3
}
}
2、@click.stop與@click.prevent
@click.stop 阻止事件冒泡
@click.prevent 阻止事件的默認行為,
<a href="http://www.baidu.com" @click.prevent="test4">百度一下</a> //阻止a標簽跳轉,僅執行函數test4
<form action="/xxx" @submit.prevent="test5"> //阻止表單提交,僅執行函數test5
<input type="submit" value="注冊">
</form>
3、按鍵修飾符
@keyup.enter
//按下enter時,執行方法test7
<input type="text" @keyup.enter="test7">
methods: {
test7 (event) {
console.log(event.keyCode)
alert(event.target.value)
}
}