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 直接操作本地文件的实现代码
Dec 01 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 Javascript
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
javascript中setInterval的用法
Jul 19 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
socket在egg中的使用实例代码详解
May 30 Javascript
Node.js系列之连接DB的方法(3)
Aug 30 Javascript
一起写一个即插即用的Vue Loading插件实现
Oct 31 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
xmlHTTP实例
2006/10/24 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
JS求平均值的小例子
2013/11/29 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
python getopt 参数处理小示例
2009/06/09 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
什么是组件架构
2016/05/15 面试题
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
python实现简单倒计时功能
2021/04/21 Python
python可视化之颜色映射详解
2021/09/15 Python