JavaScript网页键盘

mac2022-06-30  32

/*JS键盘 *实现大小写切换,使用时需指定页面上出现的位置,及接收输入的控件名称. *边框文字样式需在css中指定. *div1:出现的位置控件名称 *div2:接收输入的控件名称 */ var shift=false;//shift开关 var caps=false;//caps开关 var nowchar,nownum; var i; var upcolor="#cfffff";//caps,shift按下抬起颜色 var downcolor="#5fffff";

function createKeyBoard(div1,div2){ //为了赋值和取值方便,定义数组 var valuechar1=new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); var valuechar2=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); var valuenum1=new Array("1","2","3","4","5","6","7","8","9","0"); var valuenum2=new Array("!","@","#","$","%","^","&","*","(",")"); //创建表格 var otable=document.createElement("table"); otable.style.border="1px solid green"; otable.setAttribute("width","340"); otable.setAttribute("height", "60"); var otbody=document.createElement("tbody"); otable.appendChild(otbody); //加入第一行 otbody.insertRow(0);

//闭包函数,以防止无法在循环中定义值i function tt(p,now) {    this.click=function(){     document.getElementById(div2).value+=now[p];    } }

//判断开关情况决定显示字符 if((shift==true&&caps==true)||(shift==false&&caps==false)){    nowchar=valuechar1; }else{    nowchar=valuechar2; } if(shift==false){    nownum=valuenum1; }else{    nownum=valuenum2; } for(i=0;i<14;i++){    otbody.rows[0].insertCell(i);    otbody.rows[0].cells[i].innerText=nowchar[i];    var col=new tt(i,nowchar);    otbody.rows[0].cells[i].attachEvent("onclick",col.click); } //加入第二行 otbody.insertRow(1); for(i=0;i<12;i++){    otbody.rows[1].insertCell(i);    otbody.rows[1].cells[i].innerText=nowchar[i+14];    var col=new tt(i+14,nowchar);       otbody.rows[1].cells[i].attachEvent("onclick",col.click); } //caps otbody.rows[1].insertCell(12); otbody.rows[1].cells[12].colSpan=2; if(caps==true) {otbody.rows[1].cells[12].style.backgroundColor=downcolor;} else {otbody.rows[1].cells[12].style.backgroundColor=upcolor;} otbody.rows[1].cells[12].appendChild(document.createTextNode("caps")); otbody.rows[1].cells[12].attachEvent("onclick",chcaps); //加入第三行 otbody.insertRow(2); for(i=0;i<10;i++){    otbody.rows[2].insertCell(i);    otbody.rows[2].cells[i].innerText=nownum[i];    var col=new tt(i,nownum);       otbody.rows[2].cells[i].attachEvent("onclick",col.click); } //shift otbody.rows[2].insertCell(10); otbody.rows[2].cells[10].colSpan=4; if(shift==true) {otbody.rows[2].cells[10].style.backgroundColor=downcolor;} else {otbody.rows[2].cells[10].style.backgroundColor=upcolor;} otbody.rows[2].cells[10].attachEvent("onclick",chshift); otbody.rows[2].cells[10].innerText="shift"; document.getElementById(div1).appendChild(otable); //caps按钮执行函数 function chcaps(){    caps=!caps;    document.getElementById(div1).removeChild(otable);    createKeyBoard(div1,div2); } //shift按钮执行函数 function chshift(){    shift=!shift;    document.getElementById(div1).removeChild(otable);    createKeyBoard(div1,div2); } }

效果如下:

转载于:https://www.cnblogs.com/deepwishly/archive/2011/08/24/2551140.html

最新回复(0)