| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
vnvo3202
10年前发布

js虚拟数字小键盘

效果图

页面代码:

@Html.TextBoxFor(m=>Model.FBP[i].RealNumb,new{onclick="showKeyboard('txtRealNumbOpr')", id="txtRealNumbOpr"})

引用的js文件:

<script src="@Url.Content("~/Content/jquery.keyboard/js/keyboard.js")" type="text/javascript"></script><link href="@Url.Content("~/Content/jquery.keyboard/css/keyboardnew.css")" rel="stylesheet" type="text/css" />

jquery代码:

css文件

  @charset "utf-8";  /*  @软键盘style  */  .kbkey,.kbmouseover,#kbclose,#kbback {background:url(keyboard.png) no-repeat;}    .kbdiv { background:#fff; border:3px solid #e25102;font-size:12px;width:240px;padding:2px;font-family:Arial, Helvetica, sans-serif; border-radius:3px;box-shadow:2px 2px 3px #aaa; }  .kbdiv em {font-style:normal;cursor:pointer;}  .kbkey {width:60px;height:60px;line-height:60px;display:inline-block;text-align:center;font-size:24px;margin:4px;}  /*.kbmouseover {background-position:-21px 0;color:#fff;}*/  .kbdiv table {border-collapse:collapse;}  #kbclose {background:#000;width:68px;height:20px;line-height:20px; text-align:center;color:#fff;display:block;font-size:12px;}  #kbback {background:#000;width:68px;height:20px;line-height:20px; text-align:center;color:#fff;display:block;font-size:12px;margin-left:3px;}  

js文件:

  /*   * JS Keyboard - 随机生成的软键盘.  */    function RandomSort(a,b){      return Math.random() - 0.5;  }    function getRandomNum()  {      var numArray=new Array();      var i;      for(i=0;i<10;i++)        numArray[i]=i;//生成一个数组      //numArray.sort(RandomSort);      return numArray;  }    function getRandomChar()  {      var charArray=new Array();      var i,j;      for(i=0,j=97;j<123;i++,j++)        charArray[i]=j;//生成字母表      charArray.sort(RandomSort);      //对字母进行翻译      for(i=0;i<charArray.length;i++)          charArray[i] = String.fromCharCode(charArray[i]);      return charArray;  }    function showKeyboard(inputId)  {      var kb = $('#yh_KeyBoard');      if (kb.length!=0)      {          kb.remove();          return false;      }            kb = $('<div id="yh_KeyBoard" class="kbdiv"></div>');      var i=0;      var keyboard = '<div class="kbtable">';      numArray = getRandomNum();      charArray = getRandomChar();      for(i=0;i<10;i++)      {          keyboard += '<em class="kbkey">'+numArray[i]+'</em>';      }      keyboard += "</div><table><tr>";  //    for(i=0;i<26;i++)  //    {  //        if (i%10==0 && i>0)  //            keyboard += "</tr><tr>";  //        keyboard += '<td class="kbkey">'+charArray[i]+'</td>';  //    }      //keyboard += '<td id="kbcaps" colspan="2" class="kbcolspan">大小写</td>';      keyboard += '<td><em id="kbclose" class="kbcolspan">确认</em></td>';      keyboard += '<td><em id="kbback" class="kbcolspan">退 格</em></td>';      keyboard += '</tr></table>';      kb.html(keyboard);      kb.appendTo('body');    $("em",kb).mouseover(function() {          this.className += " kbmouseover";      }).mouseout(function() {          this.className = this.className.replace(" kbmouseover","");      }).click(function() {                    if(this.id == "kbclose") {              kb.remove();              return false;          }  //        else if(this.id == "kbcaps") {  //            $.each($(".kbkey",kb),function(i,o) {  //                var num = o.innerHTML.charCodeAt(0);  //                if(num>96 && num<123)  //                    o.innerHTML = o.innerHTML.toUpperCase();  //                else if(num>64 && num<91)  //                    o.innerHTML = o.innerHTML.toLowerCase();  //            });  //  //            return false;  //        }          //退格          if(this.id == 'kbback'){              var pw = $('#txtRealNumbOpr').val();              //alert(pp)              $('#txtRealNumbOpr').val(pw.substr(0, pw.length - 1));              return false;          }                    $("#"+inputId).attr("value",$("#"+inputId).val()+this.innerHTML);      });            var offset = $("#"+inputId).offset();      var left = offset.left;      var height = $("#"+inputId).height();      var top = offset.top+height+8;      kb.css({"left": left+"px", "top": top+"px","position":"absolute","z-index":"100"});      return false;  }