国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue引入js數字小鍵盤的實現代碼

2019-11-19 13:51:14
字體:
來源:轉載
供稿:網友

效果如圖:

代碼如下:

  keyboard.vue

<template>  <div class="keyboard" v-show="showKeyboard" v-clickoutside="closeModal">   <p v-for="keys in keyList">    <template v-for="key in keys">     <i v-if="key === 'top'" @click.stop="clickKey" class="iconfont icon-zhiding tab-top"></i>     <i v-else-if="key === '123'" @click.stop="clickKey" class="tab-num">123</i>     <i v-else-if="key === 'del'" @click.stop="clickKey" id="del" class="iconfont icon-delete key-delete"></i>     <i v-else-if="key === 'blank'" @click.stop="clickKey" class="iconfont icon-konggejian-jianpanyong tab-blank"></i>     <i v-else-if="key === 'symbol'" @click.stop="clickKey" class="tab-symbol">符</i>     <i v-else-if="key === 'point'" @click.stop="clickKey" class="tab-point">?</i>     <i v-else-if="key === 'enter'" @click.stop="clickKey" class="iconfont icon-huiche tab-enter"></i>     <i v-else @click.stop="clickKey" >{{key}}</i>    </template>   </p>  </div> </template> <script> import clickoutside from '../../directives/clickoutside' export default {  directives: { clickoutside },  data() {   return {    keyList: [],    status: 2,//0 小寫 1 大寫 2 數字 3 符號    lowercase: [     ['7', '8', '9'],     ['4', '5', '6'],     ['1', '2', '3'],     ['.','0','del'],    ],    //equip:!!navigator.userAgent.toLocaleLowerCase().match(/ipad|mobile/i)//是否是移動設備   }  },  props: {   option: {    type: Object   }  },  computed: {   showKeyboard(){    return this.option.show   }  },  mounted() {   this.keyList = this.lowercase  },  methods: {   tabHandle({ value = '' }) {    if(value.indexOf('tab-num') > -1){      this.status = 2      //數字鍵盤數據    }else if(value.indexOf('key-delete') > -1){     console.log(value.indexOf('key-delete'))     this.emitValue('delete')    }else if(value.indexOf('tab-blank') > -1){     this.emitValue(' ')    }else if(value.indexOf('tab-enter') > -1){     this.emitValue('/n')    }else if(value.indexOf('tab-point') > -1){     this.emitValue('.')    }else if(value.indexOf('tab-symbol') > -1){     this.status = 3    }else if(value.indexOf('tab-top') > -1){     if(this.status === 0){      this.status = 1     }else{      this.status = 0      this.keyList = this.lowercase     }    }else{    }   },   clickKey(event) {    // if(event.type === 'click' && this.equip) return    let value = event.srcElement.innerText;    let id = event.srcElement.id;    let target = event.srcElement ? event.srcElement : event.target;    if(id !== '' && id === 'del'){//如果點擊的是id為del的表示是刪除     this.emitValue(id);    }else{//否則     value && id !== 'del'? this.emitValue(value) : this.tabHandle(target.classList);    }   },   emitValue(key) {    console.log(key)    this.$emit('keyVal', key)   },   closeModal(e) {    if (e.target !== this.option.sourceDom) {     // this.showKeyboard = false     this.$emit('close', false)    }   }  } } </script> <style scoped lang="less"> keyboard {   display: inline-block;  width: 263px;  font-size: 18px;  border-radius: 2px;  background-color: #e5e6e8;  user-select: none;  bottom: 0;  position: absolute;/*定位數字鍵盤*/  left: -20px;  top: 77px;  z-index: 999;  pointer-events: auto;  p {   width: 100%;   margin: 0 auto;   height: 42px;   margin-bottom: 0.5em;   display: flex;   display: -webkit-box;   flex-direction: row;   flex-wrap: nowrap;   justify-content: center;   i {    display: block;    margin: 0 0.2%;    height: 50px;    line-height: 52px;    font-style: normal;    font-size: 24px;    border-radius: 3px;    width: 44px;    background-color: #fff;    text-align: center;    flex-grow: 1;    flex-shrink: 1;    flex-basis: 0;    -webkit-box-flex: 1;    &:active {     background-color: darken(#ccc, 10%);    }   }   .tab-top {    width: 50px;    margin: 0 1%;    background: #cccdd0;    color: #fff;    font-size: 24px;   }   .key-delete {    width: 47px;    margin: 0 0.2%;    color: #827f7f;    background: ;   }   .tab-num {    font-size: 18px;    background: #dedede;    color: #5a5959;   }   .tab-point {    width: 20px;   }   .tab-blank {    width: 50px;    font-size: 12px;    padding: 0 15px;    color: #5a5959;    line-height: 60px;   }   .tab-symbol {    width: 20px;    font-size: 18px;   }   .tab-enter {    font-size: 30px;    line-height: 54px;   }   &:nth-child(2) {    width: 100%;   }  } } </style> 

在使用頁面引入代碼:

html代碼

引入數字小鍵盤vue

注冊引入的主鍵

定義的method

總結

以上所述是小編給大家介紹的vue引入js數字小鍵盤的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐安县| 翁牛特旗| 东阿县| 萝北县| 南华县| 盘山县| 汶上县| 大港区| 洞口县| 名山县| 萝北县| 连州市| 公主岭市| 墨玉县| 高密市| 惠来县| 昆明市| 叙永县| 广汉市| 治县。| 安徽省| 宁津县| 临汾市| 达拉特旗| 德江县| 溧阳市| 蓬溪县| 方正县| 黔西| 兴业县| 自治县| 哈尔滨市| 巢湖市| 马鞍山市| 贵州省| 涞水县| 秀山| 东平县| 巧家县| 登封市| 泸定县|