`
rimoer
  • 浏览: 98951 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

软键盘

 
阅读更多
将以下代码保存为js文件,这里保存为keyboard.js

//************************************************************

//定义当前是否大写的状态
var CapsLockValue=0;
var curEditName;

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:280px; top:173px; width:490px; z-index:180;display:none/" title=/"可随意拖动位置/">');
document.write (' <table width=/"340/" border=/"0/" align=/"center/" cellpadding=/"1/" cellspacing=/"1/" background=/"imagesBlank/Backbg.gif/" bgcolor=/"#DDDDDD/">');
document.write (' <FORM name=Calc action=/"/" method=post autocomplete=/"off/">');
document.write (' <INPUT type=hidden value=ok name=action2>');
document.write (' <tr> ');
document.write (' <td align=/"left/" background=/"imagesBlank/Backbg.gif/" align=/"center/"> <INPUT class=button type=password size=20 value=/"/" name=password> ');
document.write (' <INPUT class=button type=button value=输入完毕 name=/"Submit13/" onclick=/"OverInput(curEditName);/"> <INPUT class=button type=reset value=重新输入 name=/"Submit23/"> ');
document.write (' <input class=button type=button value=/"关闭/" name=/"Submit222/" onclick=/"closekeyboard(curEditName);/"> </td>');
document.write (' </tr>');
document.write (' <tr> ');
document.write (' <td align=/"center/" bgcolor=/"#FFFFFF/" align=/"center/"> <table align=/"center/" width=/"100%/" border=/"0/" cellspacing=/"0/" cellpadding=/"0/">');
document.write (' <tr align=/"left/" valign=/"middle/"> ');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'1/');/" value=/" 1 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'2/');/" value=/" 2 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'3/');/" value=/" 3 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'4/');/" value=/" 4 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'5/');/" value=/" 5 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'6/');/" value=/" 6 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'7/');/" value=/" 7 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'8/');/" value=/" 8 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'9/');/" value=/" 9 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'0/');/" value=/" 0 /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'-/');/" value=/" - /"></td>');
document.write (' <td><input name=/"button10/" type=button value=/" BackSpace/" onclick=/"setpassvalue();/"> ');
document.write (' </td>');
document.write (' <td>&nbsp;</td>');
document.write (' </tr>');
document.write (' <tr align=/"left/" valign=/"middle/"> ');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'q/');/" value=/" q /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'w/');/" value=/" w /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'e/');/" value=/" e /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'r/');/" value=/" r /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'t/');/" value=/" t /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'y/');/" value=/" y /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'u/');/" value=/" u /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'i/');/" value=/" i /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'o/');/" value=/" o /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'p/');/" value=/" p /"></td>');
document.write (' <td> ');
document.write (' <input name=/"button6/" type=button onClick=/"addValue(/':/');/" value=/" : /"></td>');
document.write (' <td><input name=/"button12/" type=button onclick=/"OverInput(curEditName);/" value=/" Enter /"> ');
document.write (' </td>');
document.write (' <td> ');
document.write (' </td>');
document.write (' </tr>');
document.write (' <tr align=/"left/" valign=/"middle/"> ');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'a/');/" value=/" a /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'s/');/" value=/" s /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'d/');/" value=/" d /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'f/');/" value=/" f /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'g/');/" value=/" g /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'h/');/" value=/" h /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'j/');/" value=/" j /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'k/');/" value=/" k /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'l/');/" value=/" l /"></td>');
document.write (' <td> ');
document.write (' <input name=/"button8/" type=button onClick=/"addValue(/'[/');/" value=/" [ /"></td>');
document.write (' <td> ');
document.write (' <input name=/"button9/" type=button onClick=/"addValue(/']/');/" value=/" ] /"></td>');
document.write (' <td colspan=/"2/"><input name=/"button9/" type=button onClick=/"setCapsLock();/" value=/"切换大小写/"></td>');
document.write (' </tr>');
document.write (' <tr align=/"left/" valign=/"middle/"> ');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'z/');/" value=/" z /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'x/');/" value=/" x /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'c/');/" value=/" c /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'v/');/" value=/" v /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'b/');/" value=/" b /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'n/');/" value=/" n /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'m/');/" value=/" m /"></td>');
document.write (' <td> ');
document.write (' <input name=/"button3/" type=button onClick=/"addValue(/'</');/" value=/" < /"></td>');
document.write (' <td> ');
document.write (' <input name=/"button4/" type=button onClick=/"addValue(/'>/');/" value=/" > /"></td>');
document.write (' <td> ');
document.write (' <input name=/"button5/" type=button onClick=/"addValue(/'(/');/" value=/" ( /"></td>');
document.write (' <td> ');
document.write (' <input name=/"button7/" type=button onClick=/"addValue(/')/');/" value=/" ) /"></td>');
document.write (' <td colspan=/"2/"> ');
document.write (' <input name=/"showCapsLockValue/" type=button value=/"当前是小写/"></td>');
document.write (' </tr>');
document.write (' <tr align=/"left/" valign=/"middle/"> ');
document.write (' <td> ');
document.write (' <input name=/"button2/" type=button onClick=/"addValue(/',/');/" value=/" , /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'~/');/" value=/" ~ /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'!/');/" value=/" ! /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'@/');/" value=/" @ /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'#/');/" value=/" # /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'$/');/" value=/" $ /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'%/');/" value=/" % /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'^/');/" value=/" ^ /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'*/');/" value=/" * /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'|/');/" value=/" | /"></td>');
document.write (' <td> ');
document.write (' <input type=button onclick=/"addValue(/'?/');/" value=/" ? /"></td>');
document.write (' <td colspan=/"2/"><input name=/"button/" type=button onClick=/"addValue(/'=/');/" value=/" = /"></td>');
document.write (' </tr>');
document.write (' </table></td>');
document.write (' </tr>');
document.write (' </FORM>');
document.write (' </table>');
document.write ('</DIV>');

//给输入的密码框添加新值
function addValue(newValue)
{
if (CapsLockValue==0)
{
Calc.password.value += newValue;
}
else
{
Calc.password.value += newValue.toUpperCase();
}
}
//实现BackSpace键的功能
function setpassvalue()
{
var longnum=Calc.password.value.length;
var num
num=Calc.password.value.substr(0,longnum-1);
Calc.password.value=num;
}
//输入完毕
function OverInput(theForm)
{
eval("var theForm="+theForm+";");
//m_pass.mempass.value=Calc.password.value;
theForm.value=Calc.password.value;
//alert(theForm.value);
//theForm.value=m_pass.mempass.value;
softkeyboard.style.display="none";
Calc.password.value="";
}
//关闭软键盘
function closekeyboard(theForm)
{
//eval("var theForm="+theForm+";");
//theForm.value="";
softkeyboard.style.display="none";
//Calc.password.value="";

}
//显示软键盘
function showkeyboard(x)
{
curEditName=x;
softkeyboard.style.display="block";
}

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

//**********************************************

调用方法:

<script language="JavaScript" src="keyboard.js" type="text/javascript"></script>

<input onclick="showkeyboard('Login.Password')" type="button" value="键盘" title="用软键盘输入密码,防止黑客软件记录键盘的录入信息" />

分享到:
评论

相关推荐

    js软键盘.js软键盘.js软键盘

    JavaScript(简称JS)软键盘是一种基于Web的输入解决方案,它允许用户在网页上进行安全的输入操作,尤其适用于处理敏感信息如密码时,避免了原生系统键盘在公共设备上的安全风险。本压缩包文件主要包含一个名为"软...

    易语言调用软键盘源码,易语言软键盘

    在这个压缩包中,我们主要关注的是易语言调用软键盘的相关源码,这涉及到易语言的几个关键概念和技术。 首先,"软键盘"是指在计算机程序中通过模拟键盘输入的方式实现文字输入的功能,通常用于移动设备或特定应用中...

    基于MFC的软键盘

    《基于MFC的软键盘开发详解》 在计算机软件开发中,软键盘是一种常见的功能,尤其在输入设备受限或者安全需求较高的场景下。MFC(Microsoft Foundation Classes)是微软提供的一种C++类库,用于构建Windows应用程序...

    QT官方软键盘

    QT官方软键盘是一款基于QT库开发的虚拟键盘应用,它为需要输入的嵌入式设备提供了方便的解决方案。QT是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面、移动以及嵌入式系统中。这个软键盘程序是QT...

    android监听软键盘状态

    在Android开发中,有时我们需要对软键盘的显示和隐藏状态进行监控,以便调整布局或实现特定功能。这个需求通常出现在创建聊天应用、编辑器或者其他需要根据输入法状态改变界面布局的场景。本篇文章将深入探讨如何在...

    c# winform完美软键盘实现 软键盘 源码

    标题"\"c# winform完美软键盘实现 软键盘 源码\"\"揭示了这是一个关于用C#编程语言在WinForms环境中开发软键盘的应用程序,而且这个软键盘在功能和用户体验上具有较高的完善度,解决了以往可能遇到的问题。...

    Qt交叉编译后调用软键盘,解决软键盘背景全黑的问题

    在Qt开发过程中,有时我们需要为应用添加软键盘支持,特别是在嵌入式设备如Zynq板上。然而,遇到软键盘背景全黑的问题可能是由于多种原因导致的,这些问题可能涉及到Qt的渲染机制、系统主题或者与硬件交互的方式。...

    Qt实现软键盘

    在本文中,我们将深入探讨如何使用Qt框架来实现一个功能完备的软键盘,支持中文、英文和数字输入。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备。它提供了丰富的图形用户界面(GUI)组件,...

    网页软键盘 代替键盘输入

    网页软键盘是一种基于JavaScript技术实现的虚拟键盘,它在网页上提供了一种用户输入数据的方式,主要用于增强在线安全,特别是当用户需要输入敏感信息如密码时。这种软键盘的目的是防止键盘记录器或其他恶意软件捕获...

    使用labview2019做的一个软键盘

    在这个场景中,"使用labview2019做的一个软键盘"是一个使用LabVIEW 2019开发的软件模拟键盘,它允许用户通过程序输入文本或数字,尤其适用于自动化测试、设备控制等场合,无需物理键盘即可完成数据输入。 标题中的...

    漂亮C#软键盘(小键盘)源代码

    标题中的“漂亮C#软键盘(小键盘)源代码”是指一种使用C#编程语言编写的软件键盘,也称为虚拟键盘或屏幕键盘。这种键盘通常出现在应用程序中,以替代物理键盘,尤其在需要输入敏感信息或者移动设备上没有实体键盘的...

    VB.NET 调用软键盘

    此时,调用软键盘成为了一个实用的解决方案。本篇文章将详细介绍如何在VB.NET中实现这个功能,特别是在一个窗体中点击文本框控件时自动弹出类似Windows 10的软键盘。 首先,我们需要了解软键盘的基本原理。软键盘是...

    软键盘程序C++源代码

    标题中的“软键盘程序C++源代码”是指一个使用C++编程语言开发的软件,它在Windows操作系统环境下模拟了一个虚拟键盘。这个虚拟键盘允许用户输入中英文字符,具备与系统自带键盘类似的切换功能,但不包含Windows键,...

    VB 软键盘 含源码

    【VB软键盘含源码】项目是一个基于Visual Basic(VB)开发的软件,它利用了WinIO.dll动态链接库来创建一个系统级别的虚拟键盘。这个软键盘的主要目标是提供一个安全的输入方式,特别是在公共电脑或者网络环境中,...

    C# 软键盘堪比QQ软键盘与金山打字通

    本案例关注的是如何使用C#构建一个软键盘,类似于QQ软键盘和金山打字通,这两个都是广为人知的输入工具。软键盘在某些场景下非常有用,比如在公共电脑上保护隐私,或者在触摸屏设备上提供更方便的输入方式。 首先,...

    软键盘遮住悬浮窗的EditText、软键盘消失无法监听返回键

    在Android开发中,有时会遇到一个常见的问题:当用户在悬浮窗内的EditText输入时,软键盘弹出可能会遮挡住部分视图,导致用户体验下降。本文将深入探讨如何解决这一问题,并实现软键盘与悬浮窗的联动,即软键盘弹出...

    中标麒麟5.0 下的软键盘 安装包

    "中标麒麟5.0 下的软键盘 安装包" 指的是专门为中标麒麟操作系统版本5.0设计的一款虚拟键盘软件的安装程序。中标麒麟是国产的Linux发行版,广泛应用于政府、企业以及教育等领域,这款软键盘可能是为了满足在无实体...

    C#打开软键盘的方法

    在C#编程中,有时我们需要实现一些特殊的功能,比如打开计算机的软键盘,这在开发桌面应用时尤其有用,特别是当应用程序需要用户在无物理键盘的触摸设备上输入信息时。本文将详细介绍如何使用C#打开软键盘。 首先,...

    一个不错的web软键盘(JS实现)

    本文将深入探讨使用JavaScript实现Web软键盘的技术原理、设计思路以及相关应用。 首先,JavaScript作为客户端脚本语言,是实现Web软键盘的核心工具。它允许我们在网页上动态生成元素,监听用户事件,并对用户交互...

    C#制作软键盘

    ### C#制作软键盘知识点详解 #### 一、概述 在C#的Windows Forms应用程序开发过程中,有时我们需要为用户提供一个虚拟软键盘的功能,这在触摸屏应用或特定场景下的输入控制非常有用。本文将详细介绍如何在C# ...

Global site tag (gtag.js) - Google Analytics