问题描述:
<input v-on:click.ctrl="SelectedMultiple(item.id)" v-on:click="Selected(item.id)" />
按住ctrl点击鼠标时,在触发SelectedMultiple之后会再次触发Selected事件。
解决方案:
每个v-on会有一个独立的handler事件,触发的时候是放在一个数组里依次执行的相互之间并不会影响。@click.ctrl不能阻止@click的执行,所以只能在@click事件前,对$event进行判断来过滤掉ctrl事件。
<input v-on:click.ctrl="SelectedMultiple(item.id)" v-on:click="!$event.ctrlKey&&Selected(item.id)" />