js 弹出虚拟键盘修改密码的简单实例


Posted in Javascript onOctober 10, 2016

实例如下:

//定义当前是否大写的状态
window.onload=
  function()
  {
    password1=null;    
    initCalc();
  }

var CapsLockValue=0;

var check;
function setVariables() {
tablewidth=630; // logo width, in pixels
tableheight=20; // logo height, in pixels
if (navigator.appName == "Netscape") {
horz=".left";
vert=".top";
docStyle="document.";
styleDoc="";
innerW="window.innerWidth";
innerH="window.innerHeight";
offsetX="window.pageXOffset";
offsetY="window.pageYOffset";
}
else {
horz=".pixelLeft";
vert=".pixelTop";
docStyle="";
styleDoc=".style";
innerW="document.body.clientWidth";
innerH="document.body.clientHeight";
offsetX="document.body.scrollLeft";
offsetY="document.body.scrollTop";
  }
}
function checkLocation() {
if (check) {
objectXY="softkeyboard";
var availableX=eval(innerW);
var availableY=eval(innerH);
var currentX=eval(offsetX);
var currentY=eval(offsetY);
x=availableX-tablewidth+currentX;
//y=availableY-tableheight+currentY;
y=currentY;

evalMove();
}
setTimeout("checkLocation()",0);
}
function evalMove() {
//eval(docStyle + objectXY + styleDoc + horz + "=" + x);
eval(docStyle + objectXY + styleDoc + vert + "=" + y);
}
  self.onError=null;
  currentX = currentY = 0; 
  whichIt = null;      
  lastScrollX = 0; lastScrollY = 0;
  NS = (document.layers) ? 1 : 0;
  IE = (document.all) ? 1: 0;
  function heartBeat() {
    if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
    if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
    if(diffY != lastScrollY) {
          percent = .1 * (diffY - lastScrollY);
          if(percent > 0) percent = Math.ceil(percent);
          else percent = Math.floor(percent);
          if(IE) document.all.softkeyboard.style.pixelTop += percent;
          if(NS) document.softkeyboard.top += percent; 
          lastScrollY = lastScrollY + percent;}
    if(diffX != lastScrollX) {
      percent = .1 * (diffX - lastScrollX);
      if(percent > 0) percent = Math.ceil(percent);
      else percent = Math.floor(percent);
      if(IE) document.all.softkeyboard.style.pixelLeft += percent;
      if(NS) document.softkeyboard.left += percent;
      lastScrollX = lastScrollX + percent;  }    }
  function checkFocus(x,y) { 
      stalkerx = document.softkeyboard.pageX;
      stalkery = document.softkeyboard.pageY;
      stalkerwidth = document.softkeyboard.clip.width;
      stalkerheight = document.softkeyboard.clip.height;
      if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
      else return false;}
  function grabIt(e) {
    check = false;
    if(IE) {
      whichIt = event.srcElement;
      while (whichIt.id.indexOf("softkeyboard") == -1) {
        whichIt = whichIt.parentElement;
        if (whichIt == null) { return true; } }
      whichIt.style.pixelLeft = whichIt.offsetLeft;
      whichIt.style.pixelTop = whichIt.offsetTop;
      currentX = (event.clientX + document.body.scrollLeft);
        currentY = (event.clientY + document.body.scrollTop);   
    } else { 
      window.captureEvents(Event.MOUSEMOVE);
      if(checkFocus (e.pageX,e.pageY)) { 
          whichIt = document.softkeyboard;
          StalkerTouchedX = e.pageX-document.softkeyboard.pageX;
          StalkerTouchedY = e.pageY-document.softkeyboard.pageY;} }
    return true;  }
  function moveIt(e) {
    if (whichIt == null) { return false; }
    if(IE) {
      newX = (event.clientX + document.body.scrollLeft);
      newY = (event.clientY + document.body.scrollTop);
      distanceX = (newX - currentX);  distanceY = (newY - currentY);
      currentX = newX;  currentY = newY;
      whichIt.style.pixelLeft += distanceX;
      whichIt.style.pixelTop += distanceY;
      if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
      if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
      if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
      if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
      event.returnValue = false;
    } else { 
      whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
      if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
      if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
    if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
      if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
      return false;}
    return false;  }
  function dropIt() {whichIt = null;
    if(NS) window.releaseEvents (Event.MOUSEMOVE);
    return true;  }
  if(NS) {window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
    window.onmousedown = grabIt;
     window.onmousemove = moveIt;
    window.onmouseup = dropIt;  }
  if(IE) {
    document.onmousedown = grabIt;
     document.onmousemove = moveIt;
    document.onmouseup = dropIt;  }
//  if(NS || IE) action = window.setInterval("heartBeat()",1);



  document.write("<DIV align=center id=\"softkeyboard\" name=\"softkeyboard\" style=\"position:absolute; left:0px; top:0px; width:500px; z-index:180;display:none\"> <table id=\"CalcTable\" width=\"\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"\">      <FORM id=Calc name=Calc action=\"\" method=post autocomplete=\"off\">    <tr> <td title=\"为保证后台登陆安全,建议使用输入器输入帐号密码\" align=\"right\" valign=\"middle\" bgcolor=\"\" style=\"cursor: default;height:30\"> <INPUT type=hidden value=\"\" name=password> <INPUT type=hidden value=ok name=action2> <font style=\"font-size:13px;\">-+-www.soojs.com?后台管理帐号密码输入器-+-</font>              <INPUT style=\"width:100px;height:20px;background-color:#54BAF1;\" type=button value=\"使用键盘输入\" bgtype=\"1\" onclick=\"password1.readOnly=0;password1.focus();softkeyboard.style.display='none';password1.value='';\"><span style=\"width:2px;\"></span></td>   </tr>   <tr align=\"center\">     <td align=\"center\" bgcolor=\"#FFFFFF\"> <table align=\"center\" width=\"%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">\n     <tr align=\"left\" valign=\"middle\"> \n      <td> <input type=button value=\" ~ \"></td>\n      <td> <input type=button value=\" ! \"></td>\n      <td> <input type=button value=\" @ \"></td>\n      <td> <input type=button value=\" # \"></td>\n      <td> <input type=button value=\" $ \"></td>\n      <td> <input type=button value=\" % \"></td>\n      <td> <input type=button value=\" ^ \"></td>\n      <td> <input type=button value=\" & \"></td>\n      <td> <input type=button value=\" * \"></td>\n      <td> <input type=button value=\" ( \"></td>\n      <td> <input type=button value=\" ) \"></td>\n      <td> <input type=button value=\" _ \"></td>\n      <td> <input type=button value=\" + \"></td>\n      <td> <input type=button value=\" | \"></td>\n      <td colspan=\"1\" rowspan=\"2\"> <input name=\"button10\" type=button value=\" 退格\" onclick=\"setpassvalue();\" onDblClick=\"setpassvalue();\" style=\"width:100px;height:42px\"> \n      </td>\n     </tr>\n     <tr align=\"left\" valign=\"middle\"> \n      <td> <input type=button value=\" ` \"></td>\n      <td> <input type=button value=\" 1 \"></td>\n      <td> <input type=button value=\" 2 \"></td>\n      <td> <input type=button value=\" 3 \"></td>\n      <td> <input type=button value=\" 4 \"></td>\n      <td> <input type=button value=\" 5 \"></td>\n      <td> <input type=button value=\" 6 \"></td>\n      <td> <input type=button value=\" 7 \"></td>\n      <td> <input type=button value=\" 8 \"></td>\n      <td> <input type=button value=\" 9 \"></td>\n      <td> <input name=\"button6\" type=button value=\" 0 \"></td>\n      <td> <input type=button value=\" - \"></td>\n      <td> <input type=button value=\" = \"></td>\n      <td> <input type=button value=\" \\ \"></td>\n      <td> </td>\n     </tr>\n     <tr align=\"left\" valign=\"middle\"> \n      <td> <input type=button value=\" q \"></td>\n      <td> <input type=button value=\" w \"></td>\n      <td> <input type=button value=\" e \"></td>\n      <td> <input type=button value=\" r \"></td>\n      <td> <input type=button value=\" t \"></td>\n      <td> <input type=button value=\" y \"></td>\n      <td> <input type=button value=\" u \"></td>\n      <td> <input type=button value=\" i \"></td>\n      <td> <input type=button value=\" o \"></td>\n      <td> <input name=\"button8\" type=button value=\" p \"></td>\n      <td> <input name=\"button9\" type=button value=\" { \"></td>\n      <td> <input type=button value=\" } \"></td>\n      <td> <input type=button value=\" [ \"></td>\n      <td> <input type=button value=\" ] \"></td>\n      <td><input name=\"button9\" type=button onClick=\"capsLockText();setCapsLock();\" onDblClick=\"capsLockText();setCapsLock();\" value=\"切换大/小写\" style=\"width:100px;\"></td>\n     </tr>\n     <tr align=\"left\" valign=\"middle\"> \n      <td> <input type=button value=\" a \"></td>\n      <td> <input type=button value=\" s \"></td>\n      <td> <input type=button value=\" d \"></td>\n      <td> <input type=button value=\" f \"></td>\n      <td> <input type=button value=\" g \"></td>\n      <td> <input type=button value=\" h \"></td>\n      <td> <input type=button value=\" j \"></td>\n      <td> <input name=\"button3\" type=button value=\" k \"></td>\n      <td> <input name=\"button4\" type=button value=\" l \"></td>\n      <td> <input name=\"button5\" type=button value=\" : \"></td>\n      <td> <input name=\"button7\" type=button value=\" " \"></td>\n      <td> <input type=button value=\" ; \"></td>\n      <td> <input type=button value=\" ' \"></td>\n      <td rowspan=\"2\" colspan=\"2\"> <input name=\"button12\" type=button onclick=\"OverInput();\" value=\"  确定 \" style=\"width:130px;height:42\"></td>\n     </tr>\n     <tr align=\"left\" valign=\"middle\"> \n      <td> <input name=\"button2\" type=button value=\" z \"></td>\n      <td> <input type=button value=\" x \"></td>\n      <td> <input type=button value=\" c \"></td>\n      <td> <input type=button value=\" v \"></td>\n      <td> <input type=button value=\" b \"></td>\n      <td> <input type=button value=\" n \"></td>\n      <td> <input type=button value=\" m \"></td>\n      <td> <input type=button value=\" < \"></td>\n      <td> <input type=button value=\" > \"></td>\n      <td> <input type=button value=\" ? \"></td>\n      <td> <input type=button value=\" , \"></td>\n      <td> <input type=button value=\" . \"></td>\n      <td> <input type=button value=\" / \"></td>\n     </tr>\n    </table></td>  </FORM>   </tr> </table></DIV>")
//给输入的密码框添加新值
  function addValue(newValue)
  {
    if (CapsLockValue==0)
    {
      var str=Calc.password.value;
      if(str.length<password1.maxLength)
      {
        Calc.password.value += newValue;
      }      
      if(str.length<=password1.maxLength)
      {
        password1.value=Calc.password.value;
      }
    }
    else
    {
      var str=Calc.password.value;
      if(str.length<password1.maxLength)
      {
        Calc.password.value += newValue.toUpperCase();
      }
      if(str.length<=password1.maxLength)
      {
        password1.value=Calc.password.value;
      }
    }
  }
//实现BackSpace键的功能
  function setpassvalue()
  {
    var longnum=Calc.password.value.length;
    var num
    num=Calc.password.value.substr(0,longnum-1);
    Calc.password.value=num;
    var str=Calc.password.value;
      password1.value=Calc.password.value;
  }
//输入完毕
  function OverInput()
  {
    //m_pass.mempass.value=Calc.password.value;
    var str=Calc.password.value;
      password1.value=Calc.password.value;
      //alert(theForm.value);
    //theForm.value=m_pass.mempass.value;
    softkeyboard.style.display="none";
    Calc.password.value="";
    password1.readOnly=1;
    //password1.value=Calc.password.value;
  }
//关闭软键盘
  function closekeyboard(theForm)
  {
    //eval("var theForm="+theForm+";");
    //theForm.value="";
    softkeyboard.style.display="none";
    //Calc.password.value="";

  }
//显示软键盘
  function showkeyboard()
  {
    if(event.y+140)
    softkeyboard.style.top=event.y+document.body.scrollTop+15;
    if((event.x-250)>0)
    {
      softkeyboard.style.left=event.x-250;
    }
    else
    {
      softkeyboard.style.left=0;
    }
    
    softkeyboard.style.display="block";
    password1.readOnly=1;
    password1.blur();
    //password1.value="";
  }

//设置是否大写的值
function setCapsLock()
{
  if (CapsLockValue==0)
  {
    CapsLockValue=1
//    Calc.showCapsLockValue.value="当前是大写 ";
  }
  else 
  {
    CapsLockValue=0
//    Calc.showCapsLockValue.value="当前是小写 ";
  }
}


function setCalcborder()
{
  CalcTable.style.border="1px solid #0090FD"
}

function setHead()
{
  CalcTable.cells[0].style.backgroundColor="#7EDEFF"  
}

function setCalcButtonBg()
{
  for(var i=0;i<Calc.elements.length;i++)
  {
    if(Calc.elements[i].type=="button"&&Calc.elements[i].bgtype!="1")
    {
  //    if(i==10)
//  alert(123);
      Calc.elements[i].style.borderTopWidth= 0
      Calc.elements[i].style.borderRightWidth= 2
      Calc.elements[i].style.borderBottomWidth= 2
      Calc.elements[i].style.borderLeftWidth= 0
      Calc.elements[i].style.borderTopStyle= "none";
      Calc.elements[i].style.borderRightStyle= "solid";
      Calc.elements[i].style.borderBottomStyle= "solid";
      Calc.elements[i].style.borderLeftStyle= "none";
      //#46AC17
      Calc.elements[i].style.borderTopColor= "#118ACC";
      Calc.elements[i].style.borderRightColor= "#118ACC";
      Calc.elements[i].style.borderBottomColor= "#118ACC";
      Calc.elements[i].style.borderLeftColor= "#118ACC";
      //#CBF3B2
      Calc.elements[i].style.backgroundColor="#ADDEF8";

      
      
      var str1=Calc.elements[i].value;
      str1=str1.trim();
      /*
      if(str1=="`") 
      {
        Calc.elements[i].style.fontSize=14;
      }
      */

      if(str1.length==1)
      {
        //Calc.elements[i].style.fontSize=16;
        //Calc.elements[i].style.fontWeight='bold';
      }
      
      var thisButtonValue=Calc.elements[i].value;
      thisButtonValue=thisButtonValue.trim();
      if(thisButtonValue.length==1)
      {
        Calc.elements[i].onclick=
          function ()
          {
            var thisButtonValue=this.value;
            thisButtonValue=thisButtonValue.trim();
            addValue(thisButtonValue);
            //alert(234)
          }
        Calc.elements[i].ondblclick=
          function ()
          {
            var thisButtonValue=this.value;
            thisButtonValue=thisButtonValue.trim();
            addValue(thisButtonValue);
            //alert(234)
          }
      }
      
    }
  }
}

function initCalc()
{
  setCalcborder();
  setHead();
  setCalcButtonBg();
}

String.prototype.trim = function()
{
  // 用正则表达式将前后空格
  // 用空字符串替代。
  return this.replace(/(^\s*)|(\s*$)/g, "");
}

var capsLockFlag;
capsLockFlag=true;

function capsLockText()
{
if(capsLockFlag)//改成大写
{
  for(var i=0;i<Calc.elements.length;i++)
  {
      var char=Calc.elements[i].value;
      var char=char.trim()
    if(Calc.elements[i].type=="button"&&char>="a"&&char<="z"&&char.length==1)
    {
    
      Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)-32)+" "
    }
  }
}
else
{
  for(var i=0;i<Calc.elements.length;i++)
  {
      var char=Calc.elements[i].value;
      var char=char.trim()
    if(Calc.elements[i].type=="button"&&char>="A"&&char<="Z"&&char.length==1)
    {
    
      Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)+32)+" "
    }
  }
}
capsLockFlag=!capsLockFlag;
}

以上就是小编为大家带来的js 弹出虚拟键盘修改密码的简单实例全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
比较详细的关于javascript 解析json的代码
Dec 16 Javascript
js实现网页多级级联菜单代码
Aug 20 Javascript
深入浅析JavaScript中prototype和proto的关系
Nov 15 Javascript
解决JS无法调用Controller问题的方法
Dec 31 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
Mar 01 Javascript
详解JavaScript跨域总结与解决办法
Oct 31 Javascript
JS实现无缝循环marquee滚动效果
May 22 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
Jan 30 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
JavaScript Window窗口对象属性和使用方法
Jan 19 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
Aug 07 Javascript
详解React路由传参方法汇总记录
Nov 29 Javascript
js捕捉键盘事件和按键键值的方法
Oct 10 #Javascript
js中获取键盘事件的简单实现方法
Oct 10 #Javascript
轻松实现jquery选项卡切换效果
Oct 10 #Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 #Javascript
Javascript生成带参数的二维码示例
Oct 10 #Javascript
详细讲解JavaScript中的this绑定
Oct 10 #Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
Oct 10 #Javascript
You might like
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
php正确输出json数据的实例讲解
2018/08/21 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
js继承 Base类的源码解析
2008/12/30 Javascript
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
js实现二级导航功能
2017/03/03 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
原生js封装添加class,删除class的实例
2017/11/06 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python控制台显示时钟的示例
2014/02/24 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
对Python _取log的几种方式小结
2019/07/25 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
聊聊python中的循环遍历
2020/09/07 Python
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
文明礼仪小标兵事迹
2014/01/12 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫
python实现简单的三子棋游戏
2022/04/28 Python