软键盘赋值给当前焦点文本框 document.activeElement 使用了此方法后,值会赋给点击后软键盘的按钮,而不是赋给文本框! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 onKeyDown="if(event.keyCode==13) search();" //贴一段模拟键盘的参考<script language="javascript">var oPopUp=null;function SoftKeyboard(pwdObj){oPopUp=window.createPopup();var popBody=oPopUp.document.body;popBody.style.backgroundColor = "#FFFF99";popBody.style.border = "solid black 1px";WriteToPopup(oPopUp,pwdObj);oPopUp.show(0,22,240,100,pwdObj);}function WriteToPopup(oPopUp,pwdObj){var strHTML="<html><head>";strHTML+='<meta http-equiv="Content-Type" content="text/html; charset=gb2312">';strHTML+='<style type="text/css">';strHTML+='.td{text-align:center; background-color:#FFFF99; vertical-align:middle;font-size:13px;background-Image:(url:bg.gif); font-weight:800}';strHTML+='.button{border:0;width:90%; height:95%;}';strHTML+='</style>';strHTML+='<script language="javascript">';strHTML+='var arrLow=new Array("`","1","2","3","4","5","6","7","8","9","0","-","=","\","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","[","]",";","\'",",",".","/","");';strHTML+='var arrUp =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","{","}",":","\\"","<",">","?",""); ';strHTML+='var curOverTd=null; var curClkTd=null; var CapsStatus="black";';strHTML+='var pwdObjectId=parent.document.getElementById("'+pwdObj.id+'");';strHTML+='function TdMouseOver(TdObj){ ';strHTML+='TdObj.style.backgroundColor="blue"; ';strHTML+=' TdObj.style.color="white";';strHTML+='curOverTd=TdObj;} ';strHTML+='function TdMouseOut(TdObj){ ';strHTML+='if(curClkTd==TdObj){ ';strHTML+='TdObj.style.backgroundColor="red"; ';strHTML+='TdObj.style.color="white"; ';strHTML+='}else{ ';strHTML+='TdObj.style.backgroundColor="#FFFF99"; ';strHTML+='TdObj.style.color="black"; }';strHTML+='} ';strHTML+='function TdMouseClk(TdObj){ ';strHTML+='if(curClkTd){ ';strHTML+='curClkTd.style.backgroundColor="#FFFF99"; ';strHTML+='curClkTd.style.color="black"; }';strHTML+='TdObj.style.backgroundColor="red"; ';strHTML+=' TdObj.style.color="white";';strHTML+='curClkTd=TdObj; ';strHTML+='curOverTd=null; ';strHTML+=' pwdObjectId.value+=TdObj.innerText;';strHTML+=' }';strHTML+=' function btnCapsDown(btnObj){';strHTML+='if(CapsStatus=="black"){ CapsStatus="green"; ChgText(arrUp);}';strHTML+='else{ CapsStatus="black"; ChgText(arrLow);}; ';strHTML+='btnObj.style.color=CapsStatus=="black"?"#000000":"#33FF66";';strHTML+=' }';strHTML+=' function ChgText(arr){';strHTML+='var table=document.getElementById("tbKeyboard");';strHTML+='for(var i=0;i<4;i++)';strHTML+='for(var j=0;j<12;j++)';strHTML+='table.rows[i].cells[j].innerText=arr[12*i+j];';strHTML+=' }';strHTML+=' function btnSpaceDown(){';strHTML+='pwdObjectId.value+=" "';strHTML+=' }';strHTML+=' function btnBackDown(){';strHTML+='pwdObjectId.value=pwdObjectId.value.substring(0,pwdObjectId.value.length-1)';strHTML+=' }';strHTML+=' function btnEnterDown(){';strHTML+='parent.oPopUp.hide();';strHTML+=' }';strHTML+='</scr'+'ipt></head> ';strHTML+='<body bgcolor="#FFFFFF" style="margin:0; border:0;overflow:hidden;" oncontextmenu="javascript:event.returnValue=false;" onselectstart="javascript:event.returnValue=false;"> ';strHTML+='<table id="tbKeyboard" cellpadding="0" cellspacing="0" border="1" style="TABLE-LAYOUT: fixed; width:100%;height:100%; border-collapse:collapse; cursor:default" bordercolor="#111111">';var arr=new Array("`","1","2","3","4","5","6","7","8","9","0","-","=","\\","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","[","]",";","\'",",",".","/","");for(var i=0;i<4;i++){strHTML+='<tr height="12">';for(var j=0;j<12;j++)strHTML+='<td class="td" valign="middle" onMouseOver="TdMouseOver(this)" onMouseOut="TdMouseOut(this)" onClick="TdMouseClk(this)">'+arr[i*12+j]+'</td>';strHTML+='</tr">';}strHTML+='<tr height="12"><td class="td" colspan="12"><table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0">';strHTML+='<tr><td class="td" width="20%" valign="middle"><input type="button" value="Shift" style="font-weight:800 " onclick="btnCapsDown(this)" class="button"></td>';strHTML+='<td class="td" width="35%" valign="middle"><input type="button" value="Space" onclick="btnSpaceDown()" class="button"></td>';strHTML+='<td class="td" width="25%" valign="middle"><input type="button" value="Back" onclick="btnBackDown()" class="button"></td>';strHTML+='<td class="td" width="20%" valign="middle"><input type="button" value="Enter" onclick="btnEnterDown()" class="button"></td>';strHTML+='</tr></table></td>';strHTML+='</tr></table></body></html>';oPopUp.document.write(strHTML);}</script><input type="text" id="txtPwd" name="txtPwd" onclick="SoftKeyboard(this)" readonly="readonly"> document.activeElement是最后一个获得焦点的对象你点击文本框,那就是文本框;你点击“按钮”那就是按钮注意,当你点击了文本框时会触发文本框的onfocus事件,在这里,你可以记录可能要有输入的对象当你离开文本框而去点击“按钮”,同样会出发文本框的onblur事件,你可以利用这个记下要有输入的对象 javaScript比较两个日期的大小 怎样实现样式变换 求救:jQuery如何处理select事件? jquery取复选框值 请问js循环图片位置问题 莫名的错误啊,求助js达人 firefox下为什么span的innterHTML显示不出来、 百分求助,梅花雪大哥的树控件的缩紧问题 XML中遇特殊字符问题. 出现以下提示“网页上有错误”? 一个将string向JS的变量里赋值的问题----在线等. 在javascipt中不能修改form的enctype吗?
<script language="javascript">var oPopUp=null;
function SoftKeyboard(pwdObj){
oPopUp=window.createPopup();
var popBody=oPopUp.document.body;
popBody.style.backgroundColor = "#FFFF99";
popBody.style.border = "solid black 1px";
WriteToPopup(oPopUp,pwdObj);
oPopUp.show(0,22,240,100,pwdObj);
}
function WriteToPopup(oPopUp,pwdObj){
var strHTML="<html><head>";
strHTML+='<meta http-equiv="Content-Type" content="text/html; charset=gb2312">';
strHTML+='<style type="text/css">';
strHTML+='.td{text-align:center; background-color:#FFFF99; vertical-align:middle;font-size:13px;background-Image:(url:bg.gif); font-weight:800}';
strHTML+='.button{border:0;width:90%; height:95%;}';
strHTML+='</style>';
strHTML+='<script language="javascript">';
strHTML+='var arrLow=new Array("`","1","2","3","4","5","6","7","8","9","0","-","=","\","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","[","]",";","\'",",",".","/","");';
strHTML+='var arrUp =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","{","}",":","\\"","<",">","?",""); ';
strHTML+='var curOverTd=null; var curClkTd=null; var CapsStatus="black";';
strHTML+='var pwdObjectId=parent.document.getElementById("'+pwdObj.id+'");';
strHTML+='function TdMouseOver(TdObj){ ';
strHTML+='TdObj.style.backgroundColor="blue"; ';
strHTML+=' TdObj.style.color="white";';
strHTML+='curOverTd=TdObj;} ';
strHTML+='function TdMouseOut(TdObj){ ';
strHTML+='if(curClkTd==TdObj){ ';
strHTML+='TdObj.style.backgroundColor="red"; ';
strHTML+='TdObj.style.color="white"; ';
strHTML+='}else{ ';
strHTML+='TdObj.style.backgroundColor="#FFFF99"; ';
strHTML+='TdObj.style.color="black"; }';
strHTML+='} ';
strHTML+='function TdMouseClk(TdObj){ ';
strHTML+='if(curClkTd){ ';
strHTML+='curClkTd.style.backgroundColor="#FFFF99"; ';
strHTML+='curClkTd.style.color="black"; }';
strHTML+='TdObj.style.backgroundColor="red"; ';
strHTML+=' TdObj.style.color="white";';
strHTML+='curClkTd=TdObj; ';
strHTML+='curOverTd=null; ';
strHTML+=' pwdObjectId.value+=TdObj.innerText;';
strHTML+=' }';
strHTML+=' function btnCapsDown(btnObj){';
strHTML+='if(CapsStatus=="black"){ CapsStatus="green"; ChgText(arrUp);}';
strHTML+='else{ CapsStatus="black"; ChgText(arrLow);}; ';
strHTML+='btnObj.style.color=CapsStatus=="black"?"#000000":"#33FF66";';
strHTML+=' }';
strHTML+=' function ChgText(arr){';
strHTML+='var table=document.getElementById("tbKeyboard");';
strHTML+='for(var i=0;i<4;i++)';
strHTML+='for(var j=0;j<12;j++)';
strHTML+='table.rows[i].cells[j].innerText=arr[12*i+j];';
strHTML+=' }';
strHTML+=' function btnSpaceDown(){';
strHTML+='pwdObjectId.value+=" "';
strHTML+=' }';
strHTML+=' function btnBackDown(){';
strHTML+='pwdObjectId.value=pwdObjectId.value.substring(0,pwdObjectId.value.length-1)';
strHTML+=' }';
strHTML+=' function btnEnterDown(){';
strHTML+='parent.oPopUp.hide();';
strHTML+=' }';
strHTML+='</scr'+'ipt></head> ';
strHTML+='<body bgcolor="#FFFFFF" style="margin:0; border:0;overflow:hidden;" oncontextmenu="javascript:event.returnValue=false;" onselectstart="javascript:event.returnValue=false;"> ';
strHTML+='<table id="tbKeyboard" cellpadding="0" cellspacing="0" border="1" style="TABLE-LAYOUT: fixed; width:100%;height:100%; border-collapse:collapse; cursor:default" bordercolor="#111111">';
var arr=new Array("`","1","2","3","4","5","6","7","8","9","0","-","=","\\","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","[","]",";","\'",",",".","/","");
for(var i=0;i<4;i++){
strHTML+='<tr height="12">';
for(var j=0;j<12;j++)
strHTML+='<td class="td" valign="middle" onMouseOver="TdMouseOver(this)" onMouseOut="TdMouseOut(this)" onClick="TdMouseClk(this)">'+arr[i*12+j]+'</td>';
strHTML+='</tr">';
}
strHTML+='<tr height="12"><td class="td" colspan="12"><table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0">';
strHTML+='<tr><td class="td" width="20%" valign="middle"><input type="button" value="Shift" style="font-weight:800 " onclick="btnCapsDown(this)" class="button"></td>';
strHTML+='<td class="td" width="35%" valign="middle"><input type="button" value="Space" onclick="btnSpaceDown()" class="button"></td>';
strHTML+='<td class="td" width="25%" valign="middle"><input type="button" value="Back" onclick="btnBackDown()" class="button"></td>';
strHTML+='<td class="td" width="20%" valign="middle"><input type="button" value="Enter" onclick="btnEnterDown()" class="button"></td>';
strHTML+='</tr></table></td>';
strHTML+='</tr></table></body></html>';
oPopUp.document.write(strHTML);
}
</script>
<input type="text" id="txtPwd" name="txtPwd" onclick="SoftKeyboard(this)" readonly="readonly">
你点击文本框,那就是文本框;你点击“按钮”那就是按钮注意,当你点击了文本框时会触发文本框的onfocus事件,在这里,你可以记录可能要有输入的对象
当你离开文本框而去点击“按钮”,同样会出发文本框的onblur事件,你可以利用这个记下要有输入的对象