<div v-on:click="doSomething"> ... </div> <div @click="doSomething"> ... </div>
类型 | 说明 |
---|---|
click | 鼠标单击 |
dbclick | 鼠标双击 |
keyup | 按下某键并松开 |
keydown | 某键按下 |
mouseup | 鼠标松开 |
mousedown | 鼠标按下 |
mousemove | 鼠标移动 |
mouseover | 鼠标悬停 |
类型 | 说明 |
---|---|
.prevent | 阻止默认事件 <form> 的默认提交刷新;<a> 的默认跳转和刷新 |
.stop | 停止事件的传播/冒泡 多用于子元素 |
.self | 事件对象 e.target 是自己才触发 多用于父元素 |
.once | 只触发一次 |
.capture | 默认 是冒泡事件;绑定一个事件捕获
从文档的根节点开始,向下传播,直到到达目标元素 多用于父元素 |
.native | 使用原生事件;多用于组件 定义在组件上的事件默认都是自定义事件 系统认为是子组件 $emits 出来的事件;如需使用原生事件,应指定事件修饰符 |
<div class="outer" @click="doOut"> <div class="inner" @click="doInner"></div> </div>
<div class="outer" @click.capture="doOut"> <div class="inner" @click="doInner"></div> </div>
<div class="outer" @click="doOut"> <div class="inner" @click="doInner"></div> </div>
<div class="outer" @click="doOut"> <div class="inner" @click.stop="doInner"></div> </div>
<div class="outer" @click.self="doOut"> <div class="inner" @click="doInner"></div> </div>
<form @submit.prevent="submit"> <input type="text" name="uname" placeholder="your name"> <button>submit</button> </form>
类型 | 说明 |
---|---|
keyup.enter | 按下 enter 键 |
keyup.alt.enter | 按下 alt 键 + enter 键 |
keyup.ctrl.enter | 配合 ctrl 键 + enter 键 |
keydown.tab | 按下 tab 键未释放 |
<div @click="console.log('hi')">console log</div>
<div @click="count++">do something</div> <div>使用数据{{count}}</div>
<div @click="doClick">do something</div>
function doClick() { console.log('hello,world'); }
<div @click="doClickPara('18')">do something with para</div>
function doClickPara(para) { console.log(para); }
<div @click="doClickData" data-id="101">do something with data-</div>
function doClickData(e) { console.log(e.target.dataset); }
<div @click="doClickParaData('18', $event)" data-id="101">do something with para and data-</div>
function doClickData(para,e) { console.logpara(para, e.target.dataset); }
<img :src=" 'https://glpla.github.io/utils/coffee/coffee' + imgInd + '.jpg' " alt="swiper-img">
<div> :style="{ 'background-image': 'url(https://glpla.github.io/utils/coffee/coffee' + imgInd + '.jpg)' }" <div/>
import { ref } from 'vue'; let ind = ref(0) const chg = () => { ind.value++ ind.value = ind.value % 5 } const getPic = (ind) => { return new URL(`./assets/imgs/${ind}.jpg`, import.meta.url).href }
<div>{{ ind }}</div> <img :src='getPic(ind)' alt=""> <button @click="chg">change pic</button>