JS自定義手機端H5鍵盤


在輸入車牌號的時候,因為很多車牌號都是數字字母混合排列的,所以如果用輸入法輸入就需要頻繁切換數字跟字母,有點麻煩。

在這里我們就用自定義一個彈出框代替鍵盤來使用。

1、首先,要禁止掉文本框彈出輸入法,這里我用readonly

<input class="selectCarBtn" readonly="readonly" type="text" placeholder="輸入車牌號">

2、其次需要一個鍵盤彈框,這里就用div給做一個,想怎么排列就怎么布局。這里的鍵盤都是寫死的,有需要可以循環出來。

 1 <div class="popup OpacityUp popup-selectCarBox">
 2     <div class="btn">
 3         <div class="selectCarTit">
 4             <div class="closeSelectCarBox">取消</div>
 5         </div>
 6         <div class="selectCarCon">
 7             <ul class="number">
 8                 <li>1</li>
 9                 <li>2</li>
10                 <li>3</li>
11                 <li>4</li>
12                 <li>5</li>
13                 <li>6</li>
14                 <li>7</li>
15                 <li>8</li>
16                 <li>9</li>
17                 <li>0</li>
18             </ul>
19             <ul class="english">
20                 <li>Q</li>
21                 <li>W</li>
22                 <li>E</li>
23                 <li>R</li>
24                 <li>T</li>
25                 <li>Y</li>
26                 <li>U</li>
27                 <li>I</li>
28                 <li>O</li>
29                 <li>A</li>
30                 <li>S</li>
31                 <li>D</li>
32                 <li>F</li>
33                 <li>G</li>
34                 <li>H</li>
35                 <li>J</li>
36                 <li>K</li>
37                 <li>P</li>
38                 <li>Z</li>
39                 <li>X</li>
40                 <li>C</li>
41                 <li>V</li>
42                 <li>B</li>
43                 <li>N</li>
44                 <li>M</li>
45                 <li>L</li>
46                 <li></li>
47                 <li class="key_ok">確定</li>
48                 <li class="delect_back"></li>
49             </ul>
50         </div>
51     </div>
52 </div>

3、鍵盤有了,再給它添加點擊事件。這里定義一個變量carNum來存放輸入的值。

    主要是這個回刪事件,用 carNum.substr(0, carNum.length - 1)  來得到回刪后的值。

 1 // 自定義鍵盤事件
 2 $(".selectCarBtn").click(function(){
 3     $.popup(".popup-selectCarBox");
 4 });
 5 $(".closeSelectCarBox").click(function(){
 6     $.closeModal(".popup-selectCarBox");
 7 });
 8 $(".popup-selectCarBox").click(function(e){
 9     $.closeModal(".popup-selectCarBox");
10 })
11 $(".selectCarCon").click(function(e){
12     e.stopPropagation();
13 })
14 var carNum = "";
15 $(".selectCarCon li").not('.delect_back,.key_ok').click(function(){
16     carNum = carNum + $(this).html();
17     $(".selectCarBtn").val(carNum);
18 });
19 $(".selectCarCon li.delect_back").click(function(){
20     var num = carNum.substr(0, carNum.length - 1);
21     $(".selectCarBtn").val(num);
22     carNum = num;
23 });
24 $(".selectCarCon li.key_ok").click(function(){
25     $.closeModal(".popup-selectCarBox");
26 });

但是還不夠完善,還有一些問題沒有解決:

例如:

    輸入框沒有光標了

怎么完善呢???


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM