SoftKey.Js
上传用户:mtjhgs
上传日期:2021-12-08
资源大小:3755k
文件大小:18k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

HTML/CSS

  1. //定义当前是否大写的状态
  2. window.onload=
  3. function()
  4. {
  5. inputpass=null;
  6. initCalc();
  7. }
  8. var CapsLockValue=0;
  9. var check;
  10. function setVariables() {
  11. tablewidth=630;  // logo width, in pixels
  12. tableheight=20;  // logo height, in pixels
  13. if (navigator.appName == "Netscape") {
  14. horz=".left";
  15. vert=".top";
  16. docStyle="document.";
  17. styleDoc="";
  18. innerW="window.innerWidth";
  19. innerH="window.innerHeight";
  20. offsetX="window.pageXOffset";
  21. offsetY="window.pageYOffset";
  22. }
  23. else {
  24. horz=".pixelLeft";
  25. vert=".pixelTop";
  26. docStyle="";
  27. styleDoc=".style";
  28. innerW="document.body.clientWidth";
  29. innerH="document.body.clientHeight";
  30. offsetX="document.body.scrollLeft";
  31. offsetY="document.body.scrollTop";
  32.    }
  33. }
  34. function checkLocation() {
  35. if (check) {
  36. objectXY="softkeyboard";
  37. var availableX=eval(innerW);
  38. var availableY=eval(innerH);
  39. var currentX=eval(offsetX);
  40. var currentY=eval(offsetY);
  41. x=availableX-tablewidth+currentX;
  42. //y=availableY-tableheight+currentY;
  43. y=currentY;
  44. evalMove();
  45. }
  46. setTimeout("checkLocation()",0);
  47. }
  48. function evalMove() {
  49. //eval(docStyle + objectXY + styleDoc + horz + "=" + x);
  50. eval(docStyle + objectXY + styleDoc + vert + "=" + y);
  51. }
  52. self.onError=null;
  53. currentX = currentY = 0;  
  54. whichIt = null;           
  55. lastScrollX = 0; lastScrollY = 0;
  56. NS = (document.layers) ? 1 : 0;
  57. IE = (document.all) ? 1: 0;
  58. function heartBeat() {
  59. if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
  60.     if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
  61. if(diffY != lastScrollY) {
  62.                 percent = .1 * (diffY - lastScrollY);
  63.                 if(percent > 0) percent = Math.ceil(percent);
  64.                 else percent = Math.floor(percent);
  65. if(IE) document.all.softkeyboard.style.pixelTop += percent;
  66. if(NS) document.softkeyboard.top += percent; 
  67.                 lastScrollY = lastScrollY + percent;}
  68. if(diffX != lastScrollX) {
  69. percent = .1 * (diffX - lastScrollX);
  70. if(percent > 0) percent = Math.ceil(percent);
  71. else percent = Math.floor(percent);
  72. if(IE) document.all.softkeyboard.style.pixelLeft += percent;
  73. if(NS) document.softkeyboard.left += percent;
  74. lastScrollX = lastScrollX + percent; } }
  75. function checkFocus(x,y) { 
  76.         stalkerx = document.softkeyboard.pageX;
  77.         stalkery = document.softkeyboard.pageY;
  78.         stalkerwidth = document.softkeyboard.clip.width;
  79.         stalkerheight = document.softkeyboard.clip.height;
  80.         if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
  81.         else return false;}
  82. function grabIt(e) {
  83.     check = false;
  84. if(IE) {
  85. whichIt = event.srcElement;
  86. while (whichIt.id.indexOf("softkeyboard") == -1) {
  87. whichIt = whichIt.parentElement;
  88. if (whichIt == null) { return true; } }
  89. whichIt.style.pixelLeft = whichIt.offsetLeft;
  90.     whichIt.style.pixelTop = whichIt.offsetTop;
  91. currentX = (event.clientX + document.body.scrollLeft);
  92.     currentY = (event.clientY + document.body.scrollTop); 
  93. } else { 
  94.         window.captureEvents(Event.MOUSEMOVE);
  95.         if(checkFocus (e.pageX,e.pageY)) { 
  96.                 whichIt = document.softkeyboard;
  97.                 StalkerTouchedX = e.pageX-document.softkeyboard.pageX;
  98.                 StalkerTouchedY = e.pageY-document.softkeyboard.pageY;} }
  99.     return true; }
  100. function moveIt(e) {
  101. if (whichIt == null) { return false; }
  102. if(IE) {
  103.     newX = (event.clientX + document.body.scrollLeft);
  104.     newY = (event.clientY + document.body.scrollTop);
  105.     distanceX = (newX - currentX);    distanceY = (newY - currentY);
  106.     currentX = newX;    currentY = newY;
  107.     whichIt.style.pixelLeft += distanceX;
  108.     whichIt.style.pixelTop += distanceY;
  109. if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
  110. if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
  111. if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
  112. 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;
  113. event.returnValue = false;
  114. } else { 
  115. whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
  116.         if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
  117.         if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
  118.         if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
  119.         if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
  120.         return false;}
  121.     return false; }
  122. function dropIt() {whichIt = null;
  123.     if(NS) window.releaseEvents (Event.MOUSEMOVE);
  124.     return true; }
  125. if(NS) {window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
  126. window.onmousedown = grabIt;
  127.   window.onmousemove = moveIt;
  128. window.onmouseup = dropIt; }
  129. if(IE) {
  130. document.onmousedown = grabIt;
  131.   document.onmousemove = moveIt;
  132. document.onmouseup = dropIt; }
  133. if(NS || IE) action = window.setInterval("heartBeat()",1);
  134. document.write ('<DIV align=center id="softkeyboard" name="softkeyboard" style="position:absolute;left:336px;top:350px;z-index:180;display:none;background-image:url(images/SoftKey.gif)">');
  135. document.write ('  <table id="CalcTable" width="" border="0" align="center" cellpadding="2" cellspacing="0">');
  136. document.write ('    <FORM id=Calc name=Calc action="" method=post autocomplete="off">');
  137. document.write ('      <tr> ');
  138. document.write ('        <td valign="middle" align="center" style="height:20;"><div style='float:right'><INPUT type=button value="×" onclick="inputpass.readOnly=0;inputpass.focus();closekeyboard(Calc)" style='height:15'></div><font color=#0090FD>为了保护您的密码安全,建议使用软键盘输入密码</font><INPUT type=hidden value="" name=LoginPassword><INPUT type=hidden value=ok name=action2></td>');
  139. document.write ('      </tr>');
  140. document.write ('      <tr align="center"> ');
  141. document.write ('        <td align="center"> <table align="center" border="0" cellspacing="2" cellpadding="0">');
  142. document.write ('            <tr align="left" valign="middle"> ');
  143. document.write ('              <td><input type=button onclick="addValue('1');" value=" 1 "></td>');
  144. document.write ('              <td><input type=button onclick="addValue('2');" value=" 2 "></td>');
  145. document.write ('              <td><input type=button onclick="addValue('3');" value=" 3 "></td>');
  146. document.write ('              <td><input type=button onclick="addValue('4');" value=" 4 "></td>');
  147. document.write ('              <td><input type=button onclick="addValue('5');" value=" 5 "></td>');
  148. document.write ('              <td><input type=button onclick="addValue('6');" value=" 6 "></td>');
  149. document.write ('              <td><input type=button onclick="addValue('7');" value=" 7 "></td>');
  150. document.write ('              <td><input type=button onclick="addValue('8');" value=" 8 "></td>');
  151. document.write ('              <td><input type=button onclick="addValue('9');" value=" 9 "></td>');
  152. document.write ('              <td><input type=button onclick="addValue('0');" value=" 0 "></td>');
  153. document.write ('              <td><input type=button onclick="addValue('-');" value=" - "></td>');
  154. document.write ('            </tr>');
  155. document.write ('            <tr align="left" valign="middle"> ');
  156. document.write ('              <td><input type=button onclick="addValue('q');" value=" q "></td>');
  157. document.write ('              <td><input type=button onclick="addValue('w');" value=" w "></td>');
  158. document.write ('              <td><input type=button onclick="addValue('e');" value=" e "></td>');
  159. document.write ('              <td><input type=button onclick="addValue('r');" value=" r "></td>');
  160. document.write ('              <td><input type=button onclick="addValue('t');" value=" t "></td>');
  161. document.write ('              <td><input type=button onclick="addValue('y');" value=" y "></td>');
  162. document.write ('              <td><input type=button onclick="addValue('u');" value=" u "></td>');
  163. document.write ('              <td><input type=button onclick="addValue('i');" value=" i "></td>');
  164. document.write ('              <td><input type=button onclick="addValue('o');" value=" o "></td>');
  165. document.write ('              <td><input type=button onclick="addValue('p');" value=" p "></td>');
  166. document.write ('              <td><input name="button6" type=button onClick="addValue(':');" value=" : "></td>');
  167. document.write ('            </tr>');
  168. document.write ('            <tr align="left" valign="middle"> ');
  169. document.write ('              <td><input type=button onclick="addValue('a');" value=" a "></td>');
  170. document.write ('              <td><input type=button onclick="addValue('s');" value=" s "></td>');
  171. document.write ('              <td><input type=button onclick="addValue('d');" value=" d "></td>');
  172. document.write ('              <td><input type=button onclick="addValue('f');" value=" f "></td>');
  173. document.write ('              <td><input type=button onclick="addValue('g');" value=" g "></td>');
  174. document.write ('              <td><input type=button onclick="addValue('h');" value=" h "></td>');
  175. document.write ('              <td><input type=button onclick="addValue('j');" value=" j "></td>');
  176. document.write ('              <td><input type=button onclick="addValue('k');" value=" k "></td>');
  177. document.write ('              <td><input type=button onclick="addValue('l');" value=" l "></td>');
  178. document.write ('              <td><input name="button8" type=button onClick="addValue('[');" value=" [ "></td>');
  179. document.write ('              <td><input name="button9" type=button onClick="addValue(']');" value=" ] "></td>');
  180. document.write ('            </tr>');
  181. document.write ('            <tr align="left" valign="middle"> ');
  182. document.write ('              <td><input type=button onclick="addValue('z');" value=" z "></td>');
  183. document.write ('              <td><input type=button onclick="addValue('x');" value=" x "></td>');
  184. document.write ('              <td><input type=button onclick="addValue('c');" value=" c "></td>');
  185. document.write ('              <td><input type=button onclick="addValue('v');" value=" v "></td>');
  186. document.write ('              <td><input type=button onclick="addValue('b');" value=" b "></td>');
  187. document.write ('              <td><input type=button onclick="addValue('n');" value=" n "></td>');
  188. document.write ('              <td><input type=button onclick="addValue('m');" value=" m "></td>');
  189. document.write ('              <td><input name="button3" type=button onClick="addValue('<');" value=" < "></td>');
  190. document.write ('              <td><input name="button4" type=button onClick="addValue('>');" value=" > "></td>');
  191. document.write ('              <td><input name="button5" type=button onClick="addValue('(');" value=" ( "></td>');
  192. document.write ('              <td><input name="button7" type=button onClick="addValue(')');" value=" ) "></td>');
  193. document.write ('            </tr>');
  194. document.write ('            <tr align="left" valign="middle"> ');
  195. document.write ('              <td><input name="button2" type=button onClick="addValue(',');" value=" , "></td>');
  196. document.write ('              <td><input type=button onclick="addValue('~');" value=" ~ "></td>');
  197. document.write ('              <td><input type=button onclick="addValue('!');" value=" ! "></td>');
  198. document.write ('              <td><input type=button onclick="addValue('@');" value=" @ "></td>');
  199. document.write ('              <td><input type=button onclick="addValue('#');" value=" # "></td>');
  200. document.write ('              <td><input type=button onclick="addValue('$');" value=" $ "></td>');
  201. document.write ('              <td><input type=button onclick="addValue('%');" value=" % "></td>');
  202. document.write ('              <td><input type=button onclick="addValue('^');" value=" ^ "></td>');
  203. document.write ('              <td><input type=button onclick="addValue('*');" value=" * "></td>');
  204. document.write ('              <td><input type=button onclick="addValue('|');" value=" | "></td>');
  205. document.write ('              <td><input type=button onclick="addValue('?');" value=" ? "></td>');
  206. document.write ('            </tr>');
  207. document.write ('            <tr align="left" valign="middle"> ');
  208. document.write ('              <td colspan=2><input name="button" type=button onClick="addValue('=');" value="=" style="width:60px;"></td>');
  209. document.write ('              <td colspan=3><input name="button9" type=button onClick="capsLockText();setCapsLock();"  onDblClick="capsLockText();setCapsLock();" value="CapsLock" style="width:91px;"></td>');
  210. document.write ('              <td colspan=3><input name="button10" type=button value="BackSpace" onclick="setpassvalue();"  onDblClick="setpassvalue();" style="width:91px;"></td>');
  211. //document.write ('              <td colspan=3><INPUT type=button value=" × " onclick="inputpass.readOnly=0;inputpass.focus();closekeyboard(Calc)"></td>');
  212. document.write ('              <td colspan=3><input name="button12" type=button onclick="OverInput();" value="Enter" style="width:91px"></td>');
  213. document.write ('            </tr>');
  214. document.write ('          </table></td>');
  215. document.write ('      </tr>');
  216. document.write ('    </FORM>');
  217. document.write ('  </table>');
  218. document.write ('</DIV>');
  219. //给输入的密码框添加新值
  220. function addValue(newValue)
  221. {
  222. if (CapsLockValue==0)
  223. {
  224. Calc.LoginPassword.value += newValue;
  225. inputpass.value=Calc.LoginPassword.value;
  226. }
  227. else
  228. {
  229. Calc.LoginPassword.value += newValue.toUpperCase();
  230. inputpass.value=Calc.LoginPassword.value;
  231. }
  232. }
  233. //实现BackSpace键的功能
  234. function setpassvalue()
  235. {
  236. var longnum=Calc.LoginPassword.value.length;
  237. var num
  238. num=Calc.LoginPassword.value.substr(0,longnum-1);
  239. Calc.LoginPassword.value=num;
  240. inputpass.value=Calc.LoginPassword.value;
  241. }
  242. //输入完毕
  243. function OverInput()
  244. {
  245. //m_pass.mempass.value=Calc.LoginPassword.value;
  246. inputpass.value=Calc.LoginPassword.value;
  247. inputpass.value=inputpass.value;
  248. //alert(theForm.value);
  249. //theForm.value=m_pass.mempass.value;
  250. softkeyboard.style.display="none";
  251. Calc.LoginPassword.value="";
  252. inputpass.readOnly=1;
  253. //inputpass.value=Calc.LoginPassword.value;
  254. }
  255. //关闭软键盘
  256. function closekeyboard(theForm)
  257. {
  258. //eval("var theForm="+theForm+";");
  259. //theForm.value="";
  260. softkeyboard.style.display="none";
  261. //Calc.LoginPassword.value="";
  262. }
  263. //显示软键盘
  264. function showkeyboard()
  265. {
  266. softkeyboard.style.display="block";
  267. }
  268. //设置是否大写的值
  269. function setCapsLock()
  270. {
  271. if (CapsLockValue==0)
  272. {
  273. CapsLockValue=1
  274. // Calc.showCapsLockValue.value="当前是大写 ";
  275. }
  276. else 
  277. {
  278. CapsLockValue=0
  279. // Calc.showCapsLockValue.value="当前是小写 ";
  280. }
  281. }
  282. function setCalcborder()
  283. {
  284. CalcTable.style.borderTop="1px solid #8AC1DE"
  285. CalcTable.style.borderBottom="2px solid #0D6EA2"
  286. CalcTable.style.borderLeft="1px solid #8AC1DE"
  287. CalcTable.style.borderRight="2px solid #0D6EA2"
  288. }
  289. function setHead()
  290. {
  291. //CalcTable.cells[0].style.backgroundColor=""
  292. }
  293. function setCalcButtonBg()
  294. {
  295. for(var i=0;i<Calc.elements.length;i++)
  296. {
  297. if(Calc.elements[i].type=="button"&&Calc.elements[i].bgtype!="1")
  298. {
  299. // if(i==10)
  300. // alert(123);
  301. Calc.elements[i].style.borderTopWidth= 1
  302. Calc.elements[i].style.borderRightWidth= 1
  303. Calc.elements[i].style.borderBottomWidth= 1
  304. Calc.elements[i].style.borderLeftWidth= 1
  305. Calc.elements[i].style.borderTopStyle= "solid";
  306. Calc.elements[i].style.borderRightStyle= "solid";
  307. Calc.elements[i].style.borderBottomStyle= "solid";
  308. Calc.elements[i].style.borderLeftStyle= "solid";
  309. Calc.elements[i].style.borderTopColor= "#C5DDEA";
  310. Calc.elements[i].style.borderRightColor= "#0D6EA2";
  311. Calc.elements[i].style.borderBottomColor= "#0D6EA2";
  312. Calc.elements[i].style.borderLeftColor= "#C5DDEA";
  313. Calc.elements[i].style.backgroundColor="#F8F9FD";
  314. Calc.elements[i].style.color="#333333";
  315. var thisButtonValue=Calc.elements[i].value;
  316. thisButtonValue=thisButtonValue.trim();
  317. if(thisButtonValue.length==1)
  318. {
  319. Calc.elements[i].ondblclick=
  320. function ()
  321. {
  322. var thisButtonValue=this.value;
  323. thisButtonValue=thisButtonValue.trim();
  324. addValue(thisButtonValue);
  325. //alert(234)
  326. }
  327. }
  328. }
  329. }
  330. }
  331. function initCalc()
  332. {
  333. setCalcborder();
  334. setHead();
  335. setCalcButtonBg();
  336. }
  337. String.prototype.trim = function()
  338. {
  339.     // 用正则表达式将前后空格
  340.     // 用空字符串替代。
  341.     return this.replace(/(^s*)|(s*$)/g, "");
  342. }
  343. var capsLockFlag;
  344. capsLockFlag=true;
  345. function capsLockText()
  346. {
  347. if(capsLockFlag)//改成大写
  348. {
  349. for(var i=0;i<Calc.elements.length;i++)
  350. {
  351. var char=Calc.elements[i].value;
  352. var char=char.trim()
  353. if(Calc.elements[i].type=="button"&&char>="a"&&char<="z"&&char.length==1)
  354. {
  355. Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)-32)+" "
  356. }
  357. }
  358. }
  359. else
  360. {
  361. for(var i=0;i<Calc.elements.length;i++)
  362. {
  363. var char=Calc.elements[i].value;
  364. var char=char.trim()
  365. if(Calc.elements[i].type=="button"&&char>="A"&&char<="Z"&&char.length==1)
  366. {
  367. Calc.elements[i].value=" "+String.fromCharCode(char.charCodeAt(0)+32)+" "
  368. }
  369. }
  370. }
  371. capsLockFlag=!capsLockFlag;
  372. }