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

Vue Components 數(shù)字鍵盤的實現(xiàn)

 更新時間:2019年09月18日 11:34:04   作者:juststart_LIC  
這篇文章主要介紹了Vue Components 數(shù)字鍵盤的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本文介紹了Vue Components 數(shù)字鍵盤的實現(xiàn),分享給大家,具體如下:

項目地址 點擊查看 

項目演示 點擊查看

首先監(jiān)聽所有的input,有input聚焦時調(diào)起數(shù)字鍵盤,通過getBoundingClientRect判斷input位置讓數(shù)字鍵盤在input附近,失去焦點后則隱藏數(shù)字鍵盤

let inputElement = document.getElementsByTagName("input");
  [...inputElement].forEach(ipele => {
   ipele.addEventListener("focus", function(e) {
    $this.inputTarget = e.target;
    let scrollTop =
     window.pageYOffset ||
     document.documentElement.scrollTop ||
     document.body.scrollTop;
    let scrollLeft =
     window.pageXOffset ||
     document.documentElement.scrollLeft ||
     document.body.scrollLeft;
    $this.NumberkeyBoardStyle =
     "top:" +
     (e.target.getBoundingClientRect().top +
      scrollTop +
      e.target.offsetHeight) +
     "px;left:" +
     (e.target.getBoundingClientRect().left +
      scrollLeft +
      e.target.offsetWidth) +
     "px";
   });
   ipele.addEventListener("blur", function(e) {
    $this.inputTarget = null;
    $this.NumberkeyBoardStyle = "display:none";
   });
  });

點擊小鍵盤時阻止默認事件,阻止input失去焦點。

BoardNumberKeyDown(e) {
   if (e && e.preventDefault) {
    e.preventDefault();
   } else {
    window.event.returnValue = false;
    return false;
   }
  },

點擊小鍵盤時,根據(jù)事件委托,得出點擊的數(shù)字,然后根據(jù)selectionStart,selectionEnd獲取input中的焦點,將小鍵盤中的數(shù)字插入焦點處,最后焦點右移一位。

let inputTarget = this.inputTarget;
let Pointstart = inputTarget.selectionStart;
let PointEnd = inputTarget.selectionEnd;
let wordLength = inputTarget.value.length;
if (e.target.className == "numberTD" && e.target.innerText != "←") {
inputTarget.value =
 inputTarget.value.slice(0, Pointstart) +
 e.target.innerText +
 inputTarget.value.slice(PointEnd, wordLength);
//一個小數(shù)點和開頭不能有小數(shù)點
inputTarget.value = inputTarget.value.replace(/^\./g, "");
inputTarget.value = inputTarget.value
 .replace(".", "$#$")
 .replace(/\./g, "")
 .replace("$#$", ".");
inputTarget.selectionStart = Pointstart + 1;
inputTarget.selectionEnd = Pointstart + 1;
//讓光標顯示在input可視區(qū)域
inputTarget.blur();
inputTarget.focus();

點擊刪除鍵時,刪除光標處數(shù)字,最后光標右移。

if (e.target.className == "numberTD" &&
  e.target.innerText == "←" &&
  //PointEnd==0時會復(fù)制整個input的value
  PointEnd != 0
  ) {
    inputTarget.value =
     inputTarget.value.slice(0, Pointstart - 1) +
     inputTarget.value.slice(PointEnd, wordLength);
    inputTarget.selectionStart = Pointstart - 1;
    inputTarget.selectionEnd = Pointstart - 1;
    //讓光標顯示在input可視區(qū)域
    inputTarget.blur();
    inputTarget.focus();
   } 

在刪除數(shù)字和添加數(shù)字后要讓input失去焦點在獲取焦點,不然光標會在最后而不是在input的可視區(qū)域,這樣子會看不到輸入的值,具體可以查看項目

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Ant?Design_Form表單上傳文件組件實現(xiàn)詳解

    Ant?Design_Form表單上傳文件組件實現(xiàn)詳解

    這篇文章主要為大家介紹了Ant?Design_Form表單上傳文件組件實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載

    從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載

    這篇文章主要介紹了從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 解決vue項目Error:Cannot find module‘xxx’類報錯問題

    解決vue項目Error:Cannot find module‘xxx’類報錯問題

    當npm運行報錯Error:Cannot find module 'xxx'時,通常是因為node_modules文件或依賴未正確安裝,解決步驟包括刪除node_modules和package-lock.json文件,重新運行npm install,并根據(jù)需要安裝額外插件,若網(wǎng)絡(luò)問題導(dǎo)致安裝失敗
    2024-10-10
  • vue中methods、mounted等的使用方法解析

    vue中methods、mounted等的使用方法解析

    這篇文章主要介紹了vue中methods、mounted等的使用方法解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue-cli 自定義指令directive 添加驗證滑塊示例

    vue-cli 自定義指令directive 添加驗證滑塊示例

    本篇文章主要介紹了vue-cli 自定義指令directive 添加驗證滑塊示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • vue3自定義組件之v-model實現(xiàn)父子組件雙向綁定

    vue3自定義組件之v-model實現(xiàn)父子組件雙向綁定

    這篇文章主要介紹了vue3自定義組件之v-model實現(xiàn)父子組件雙向綁定方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 解決vue組件沒顯示,沒起作用,沒報錯,但該顯示的組件沒顯示問題

    解決vue組件沒顯示,沒起作用,沒報錯,但該顯示的組件沒顯示問題

    這篇文章主要介紹了解決vue組件沒顯示,沒起作用,沒報錯,但該顯示的組件沒顯示問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 詳解elementui之el-image-viewer(圖片查看器)

    詳解elementui之el-image-viewer(圖片查看器)

    這篇文章主要介紹了詳解elementui之el-image-viewer(圖片查看器),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Vue自動構(gòu)建發(fā)布腳本的方法示例

    Vue自動構(gòu)建發(fā)布腳本的方法示例

    這篇文章主要介紹了Vue自動構(gòu)建發(fā)布腳本的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • vue中watch和computed的區(qū)別與使用方法

    vue中watch和computed的區(qū)別與使用方法

    這篇文章主要給大家介紹了關(guān)于vue中watch和computed的區(qū)別與使用方法的相關(guān)資料,文中通過實例代碼結(jié)束的非常詳細,對大家學習或者使用Vue具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08

最新評論

应用必备| 丹阳市| 班戈县| 乐陵市| 敦化市| 柏乡县| 陕西省| 安庆市| 新晃| 镇原县| 申扎县| 连云港市| 景泰县| 香河县| 玛曲县| 开江县| 庄河市| 虞城县| 金坛市| 东莞市| 化隆| 榆树市| 建瓯市| 江门市| 偏关县| 通州市| 杭州市| 平潭县| 东乌| 宁城县| 兴化市| 永新县| 资源县| 浪卡子县| 阳城县| 呼玛县| 芜湖市| 鄄城县| 兴海县| 磐安县| 浠水县|