michaelyang 发表于 2013-1-29 08:56:50

js 軟鍵盤

今天在CSDN中發現有一篇文章挺有意思 ,博文地址是:http://blog.csdn.net/java2000_net/article/details/6237169
特意轉載 ,文章版權歸原作者所有.下載源碼有點問題,我已改正,如下所示:
         function _softkeyboard_(target,container){                      var _ = _softkeyboard_;                      _.target = target;                      _.doc = container.ownerDocument;                      (_.doc.parentWindow||_.doc.defaultView)._softkeyboard_ = _softkeyboard_;                      _.skb = container;                      _.skb.innerHTML = _.getkeyshtml();                      var toggle = (_.skb.style.display == "block");                      _.skb.style.display = toggle ? "none" : "block";                      _.preventKey(target);                      return toggle;         }            function closeKeyBoard()         {                      document.getElementById('skb').style.display = "none";         }            _softkeyboard_.shifted = true;         _softkeyboard_.getkeyshtml = function(shifted){                      var htm = [], keys = _softkeyboard_.shifted ?                                  ["`1234567890-=","backspace","<br/>"," ","qwertyuiop[]//","<br/>"," "," ","asdfghjkl;","'","<br/>","shift","zxcvbnm,./","shift"] :                                  ["~!@#$%^&*()_+","backspace","<br/>"," ","QWERTYUIOP{}|","<br/>"," "," ","ASDFGHJKL:",'"',"<br/>","shift","ZXCVBNM<>?","shift"];                      var esp = {                                          "'":'<input type="button" value="/"/>',                                          '"':"<input type='button' value='/' onclick='_softkeyboard_.onkeydown(this);' />",                                          "<br/>":"<br/>",                                          " ":" ",                                          "backspace":'<input type="button" value="<-"/>',                                          "shift":'<input type="button" style="width:50px;" value="shift"/>'                      };                      for(var j = 0; j < keys.length; j++){                                 if(esp]){                                          htm.push(esp]);                                 }                                 else{                                          var x = new Date().getMilliseconds()%keys.length;                                          keys =keys.substr(x,keys.length) + keys.substr(0,x);                                          for(var i = 0; i < keys.length; i++){                                                         htm.push("<input type='button' class='key' value='"+ keys.charAt(i)+"' onclick='_softkeyboard_.onkeydown(this);' />");                                          }                                 }                      }                      htm.push("<div style= 'margin-top:5px;' mce_style='margin-top:5px;'><input type='button' onclick='closeKeyBoard()' value='确定' style='margin-right:20px;' mce_style='margin-right:20px;' /><input type='button' onclick='closeKeyBoard()' value='关闭' /><div/>");                      return htm.join("");         }         _softkeyboard_.onkeydown = function(ele){                      _softkeyboard_.target.value += ele.value;                      _softkeyboard_.target.focus();         }         _softkeyboard_.backspace = function(){                      with(_softkeyboard_.target){                                 value = value.substr(0,value.length-1);                      }         }         _softkeyboard_.addCSSRule = function(key,value){}         _softkeyboard_.hide = function(){                      if(_softkeyboard_.skb){                                 _softkeyboard_.skb.style.display = "none"                      }         }         _softkeyboard_.preventKey = function(target){                      var targetkeydown = function(e){                                 e = window.event?window.event:e;                                 switch(e.keyCode){                                          case 27:// esc                                          case 9:// tab                                                       _softkeyboard_.hide();                                                       if(window.event){e.returnValue = false;}else{e.preventDefault();}break;                                 }                      };                      // target.addEventListener ?// target.addEventListener("keydown",targetkeydown,false)// : target.attachEvent("onkeydown",targetkeydown);         }            window.top._softkeyboard_=_softkeyboard_;         _softkeyboard_.preventKey(window.top.document.body);  
页: [1]
查看完整版本: js 軟鍵盤