• 输入交互(一)


      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
      6     <title>Document</title>
      7 </head>
      8 <style>
      9     .out{
     10         width:40px;
     11         height:40px;
     12         background:#dd0000;
     13         border-radius: 6px;
     14         float:left;
     15         margin-left:20px;
     16         display: flex;
     17         justify-content: center;
     18         align-items: center;
     19     }
     20     .box{
     21         width:26px;
     22         height:26px;
     23         border:2px solid #fff;
     24         border-radius: 4px;
     25         text-align: center;
     26         color:#fff;
     27         display: flex;
     28         justify-content: center;
     29         align-items: center;
     30     }
     31     .w{
     32         background:transparent;
     33         color:#fff;
     34         width:100%;
     35         height:100%;
     36         text-align: center;
     37         outline: none;
     38         border:none;
     39 
     40     }
     41 </style>
     42 <body>
     43     <div class="out">
     44         <div class="box"><input type="text" class="w"></div>
     45     </div>
     46     <div class="out">
     47         <div class="box"><input type="text" class="w"></div>
     48     </div>
     49     <div class="out">
     50         <div class="box"><input type="text" class="w"></div>
     51     </div>
     52     <div class="out">
     53         <div class="box"><input type="text" class="w"></div>
     54     </div>
     55     <div class="out">
     56         <div class="box"><input type="text" class="w"></div>
     57     </div>
     58     <div class="out">
     59         <div class="box"><input type="text" class="w"></div>
     60     </div>
     61     <script>
     62         let w = findClass('w');
     63         let box = findClass('box');
     64         run();
     65         // 第一次获得光标
     66         function run(){
     67             getFocus();
     68             everyOne("w");
     69             deletePlay();
     70         }
     71         function everyOne(str){
     72             let obj=findClass(str);
     73             loop(obj,function(item,index){
     74               item.oninput=function(){
     75                 writeAfter(this);
     76               }  
     77             })
     78         }
     79         // 遍历
     80       
     81         // 输入之后
     82         function writeAfter(obj){
     83             let val=obj.value;
     84             let box=obj.parentNode;
     85             box.classList.add('x');
     86             box.innerText=val.slice(0,1);
     87             getFocus();
     88         }
     89         // 找到对象
     90         function findClass(clastr){
     91             return document.getElementsByClassName(clastr);
     92         }
     93         // 获取第一个对象的光标
     94         function getFocus(){
     95             let w = findClass('w');
     96             if(w[0])
     97             {
     98                 w[0].focus();
     99             }   
    100         }
    101         // 对象遍历
    102         function loop(obj,back)
    103         {
    104             let i = 0;
    105             while(obj[i])
    106             {
    107                 back(obj[i],i);
    108                 i++;
    109             }
    110         }
    111         // 删除操作
    112         function deletePlay(){
    113             window.onkeydown=function(ev)
    114             {
    115                 if(ev.keyCode == 8)
    116                 {
    117                     let x=findClass('x');
    118                     let w=findClass('w');
    119                     loop(w,function(item){
    120                         item.blur();
    121                     })
    122                     if(x.length-1>=0)
    123                     {
    124                         x[x.length-1].innerHTML='<input type="text" class="w">';
    125                         x[x.length-1].className='box';
    126                     }
    127                     run();
    128                 }
    129             }
    130         }
    131         
    132     </script>
    133 </body>
    134 </html>
    
    
  • 相关阅读:
    Request Payload 和 Form Data 的区别
    es6 字符串模板拼接和传统字符串拼接
    TypeScript
    Jquery的$(document).click() 在iphone手机上失效的问题
    Vuex 是什么?
    什么是JSONP?
    git 放弃本地修改操作
    CSS3+HTML5+JS 实现一个块的收缩&展开动画
    Promise学习笔记(一)
    React@16.13.1配合antd UI使用,自定义主题
  • 原文地址:https://www.cnblogs.com/huangcaijin/p/12789670.html
Copyright © 2020-2023  润新知