最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue雙擊事件2.0事件監(jiān)聽(點擊-雙擊-鼠標事件)和事件修飾符操作

 更新時間:2020年07月27日 11:51:41   作者:qq_42221334  
這篇文章主要介紹了vue雙擊事件2.0事件監(jiān)聽(點擊-雙擊-鼠標事件)和事件修飾符操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Vue 事件處理方法

可以用 v-on 指令監(jiān)聽 DOM 事件,并在觸發(fā)時運行一些 JavaScript 代碼。

v-on:click 單擊事件

<button class=" btn btn-info" v-on:click="add(1)"> + + </button>

<button class=" btn btn-danger " v-on:click="subtract(1)"> - - </button>

v-on:dblclick 雙擊事件

<!-- 縮寫語法 -->
<button class=" btn btn-info" @dblclick="add(5)"> + + </button>
<button class=" btn btn-danger " @dblclick="subtract(5)"> - - </button>

v-on:mousemove\mouseout 鼠標事件

<div class="canvas" @mouseout ="update">
  {{ x }} - {{ y }}
</div>
new Vue({
el:".vue-app",
 data:{
  age: 25,
 x:0,
 y:0
 },
 methods:{
 add:function(inc){
  this.age += inc;
 },
 subtract:function(dec){
  this.age -= dec ;
 },
 update:function(event){
 // console.log(event);
  this.x = event.offsetX;
  this.y = event.offsetY;
 }
 }
}); 

然而許多事件處理邏輯會更為復雜,所以直接把 JavaScript 代碼寫在 v-on 指令中是不可行的。因此 v-on 還可以接收一個需要調(diào)用的方法名稱。

Vue.js 事件修飾符

在事件處理程序中盡管我們可以在方法中輕松實現(xiàn)這點,但更好的方式是:方法只有純粹的數(shù)據(jù)邏輯,而不是去處理 DOM 事件細節(jié)。

為了解決這個問題,Vue.js 為 v-on 提供了事件修飾符。之前提過,修飾符是由點開頭的指令后綴來表示的。

.stop

.prevent

.capture

.self

.once

.passive

<!-- 阻止事件繼續(xù)傳播 -->
<p v-on:mousemove.stop> Stop </p>
 
<!-- 點擊事件將只會觸發(fā)一次 -->
<button class=" btn btn-info" v-on:click.once="add(1)"> + + </button>
 
 <!--點擊 A 鏈接彈出提示內(nèi)容,不再重載頁面 -->
<p><a v-on:click.prevent ="alert() "  rel="external nofollow" >blog.023xs.cn</a></p>

注意事項:使用修飾符時,順序很重要;相應的代碼會以同樣的順序產(chǎn)生。因此,用 v-on:click.prevent.self 會阻止所有的點擊,而 v-on:click.self.prevent 只會阻止對元素自身的點擊。

Vue 按鍵修飾符

在監(jiān)聽鍵盤事件時,我們經(jīng)常需要檢查常見的鍵值。Vue 允許為 v-on 在監(jiān)聽鍵盤事件時添加按鍵修飾符:

<!-- 用戶輸入內(nèi)容時,按下Enter 鍵才會觸發(fā)事件 -->
<input v-on:keyup.enter="Email" type="text" class="form-control" placeholder="Email">
 
<!-- 用戶輸入內(nèi)容時,按下刪除”或“退格”鍵 鍵才會觸發(fā)事件 -->
<input v-on:keyup.delete="Email" type="text" class="form-control" placeholder="Email">

全部的按鍵別名:

.enter

.tab

.delete (捕獲“刪除”和“退格”鍵)

.esc

.space

.up

.down

.left

.right

記住所有的 keyCode 比較困難,所以 Vue 為最常用的按鍵提供了別名,當然也可以通過全局 config.keyCodes 對象自定義按鍵修飾符別名。

補充知識:vue給同一元素綁定單擊click和雙擊事件dblclick,執(zhí)行不同邏輯

在做項目過程中,需求是點擊孔位單擊彈出對話框查看產(chǎn)品總數(shù),雙擊彈出對話框查看詳情。一開始直接click和dblclick寫在標簽里面,但是不管怎么樣,總是執(zhí)行單擊事件

解決辦法:利用計時器,在大概時間模擬雙擊事件

html部分代碼:

 <div class="grid-content">
 <el-button 
    v-for="(item,index) in items" :key="index" 
   @click="storageCount(item.id)" 
   @dblclick.native="storageDetail(item.id)" 
    class="inline-cell" 
   :class="colors[item.status]">
   {{item.id}}</el-button>
 </div>

.native主要用于監(jiān)聽組件根元素的原生事件,主要是給自定義的組件添加原生事件。

官方對.native修飾符的解釋為:有時候,你可能想在某個組件的根元素上監(jiān)聽一個原生事件。可以使用 v-on 的修飾符 .native

js部分代碼

<script>
import desDialog from './dialog';
import detailDialog from './detailDialog';
var time = null; // 在這里定義time 為null 
export default {
 name: 'storeTable',
 components: {
 desDialog,
 detailDialog
 },
 props: ['providerid'],
 data() {
 return {
  colors: ['space', 'isBuy'],
  showDialog: false,
  showDialogT: false
 };
 },
 methods: {
  // 單擊事件函數(shù)
 storageCount(id) {
  clearTimeout(time); //首先清除計時器
  time = setTimeout(() => {
  this.showDialog = !this.showDialog; 
  const obj = {};
  obj.cutname = id;
  obj.providerid = this.providerid;
  this.$store.dispatch('GetStorageCount', obj);
  }, 300); //大概時間300ms
 },
  // 雙擊事件函數(shù),清除計時器,直接處理邏輯
 storageDetail(id) {
  clearTimeout(time); //清除
  this.showDialogT = !this.showDialogT;
  const obj = {};
  obj.cutname = id;
  obj.providerid = this.providerid;
  this.$store.dispatch('GetStorageDetail', obj);
 },
 close() {
  this.showDialog = false;
 },
 closeT() {
  this.showDialogT = false;
 }
 }
};
</script>

以上這篇vue雙擊事件2.0事件監(jiān)聽(點擊-雙擊-鼠標事件)和事件修飾符操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue實戰(zhàn)之vue登錄驗證的實現(xiàn)代碼

    Vue實戰(zhàn)之vue登錄驗證的實現(xiàn)代碼

    本篇文章主要介紹了Vue實戰(zhàn)之vue登錄的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案

    詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案

    這篇文章主要介紹了詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Vue3安裝dataV報錯問題解決方案

    Vue3安裝dataV報錯問題解決方案

    這篇文章主要給大家介紹了關(guān)于Vue3安裝dataV報錯問題解決方案的相關(guān)資料,dataV用于大屏展示,個人覺得比echarts簡單很多,需要的朋友可以參考下
    2023-06-06
  • Vue2中使用axios的3種方法實例總結(jié)

    Vue2中使用axios的3種方法實例總結(jié)

    axios從功能上來說就是主要用于我們前端向后端發(fā)送請求,是基于http客戶端的promise,面向瀏覽器和nodejs,下面這篇文章主要給大家介紹了關(guān)于Vue2中使用axios的3種方法,需要的朋友可以參考下
    2022-09-09
  • Vue.js表單控件實踐

    Vue.js表單控件實踐

    這篇文章主要為大家詳細介紹了Vue.js表單控件實踐,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • unplugin-vue-components解決命名沖突問題

    unplugin-vue-components解決命名沖突問題

    這篇文章主要介紹了unplugin-vue-components解決命名沖突問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • electron-vite新一代electron開發(fā)構(gòu)建工具

    electron-vite新一代electron開發(fā)構(gòu)建工具

    這篇文章主要介紹了electron-vite新一代electron開發(fā)構(gòu)建工具,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue的.vue文件是怎么run起來的(vue-loader)

    vue的.vue文件是怎么run起來的(vue-loader)

    通過vue-loader,解析.vue文件,在webpack解析,拆解vue組件 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下
    2018-12-12
  • Nginx部署前端vue項目的全部步驟記錄

    Nginx部署前端vue項目的全部步驟記錄

    本文講解了如何在Linux環(huán)境中部署Vue項目,包括安裝依賴、編譯項目、安裝配置Nginx,并介紹了SSL證書安裝與配置,詳細說明了使用Nginx作為靜態(tài)資源服務(wù)器和反向代理的步驟,以及進行性能、安全性測試和備份的重要性,需要的朋友可以參考下
    2024-09-09
  • vue響應式Object代理對象的修改和刪除屬性

    vue響應式Object代理對象的修改和刪除屬性

    這篇文章主要為大家介紹了vue響應式Object代理對象的修改和刪除屬性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論

兴国县| 平度市| 北海市| 宿迁市| 余庆县| 大邑县| 綦江县| 河源市| 宣威市| 西吉县| 蒙山县| 靖安县| 渑池县| 岳西县| 赣榆县| 额敏县| 民乐县| 纳雍县| 中江县| 靖江市| 崇文区| 德钦县| 商水县| 宁乡县| 瑞金市| 新民市| 甘泉县| 台前县| 抚松县| 若尔盖县| 沾化县| 大庆市| 二连浩特市| 临武县| 桓台县| 永德县| 安远县| 汶川县| 苏尼特右旗| 房产| 社旗县|