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知识点收藏
Feb 22 Javascript
js操作二级联动实现代码
Jul 27 Javascript
javascript向flash swf文件传递参数值注意细节
Dec 11 Javascript
js创建元素(节点)示例
Jan 02 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
Sep 20 Javascript
WEB前端实现裁剪上传图片功能
Oct 17 Javascript
js简单实现网页换肤功能
Apr 07 Javascript
Vue项目全局配置微信分享思路详解
May 04 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
Jul 20 Javascript
JavaScript 空间坐标的使用
Aug 19 Javascript
Javascript confirm多种使用方法解析
Sep 25 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
我的论坛源代码(十)
2006/10/09 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
php数组随机排序实现方法
2015/06/13 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
Javascript学习指南
2014/12/01 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
python实现TF-IDF算法解析
2018/01/02 Python
python使用udp实现聊天器功能
2018/12/10 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
python怎么判断模块安装完成
2020/06/19 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
高中生学习生活的自我评价
2013/11/27 职场文书
学校后勤人员职责
2013/12/27 职场文书
工作违纪检讨书
2014/02/17 职场文书
逃课上网检讨书
2014/02/20 职场文书
村长贪污检举信
2014/04/04 职场文书
环保志愿者活动方案
2014/08/14 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
单位考核鉴定意见
2015/06/05 职场文书
公司处罚决定书
2015/06/24 职场文书
Python各协议下socket黏包问题原理
2022/04/12 Python
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL