onKeyDown不起作用,好像是focus()无法聚焦,请高手帮忙看看。
代码如下:
var logintxt= " <img src= '../images/err.gif ' /> <br /> ";
var loerr=1;
if ($( "name ").value== " "){
loerr=2;
logintxt=logintxt+ " <br /> ▲ 请输入用户名。 ";
}
if ($( "pass ").value== " "){
loerr=2;
logintxt=logintxt+ " <br /> ▲ 请输入密码。 ";
}
if ($( "code ").value== " "){
loerr=2;
logintxt=logintxt+ " <br /> ▲ 请输入验证码。 ";
}
switch (loerr){
case 1:
$( "ylogin ").insertAdjacentHTML( "afterEnd ", " <div id= 'logining ' class= 'logining ' style= 'left: "+(loginwidth+18)+ "px;top: "+(loginheight+63)+ "px; '> <br /> <br /> <br /> 正在登陆,请稍候... </div> ");
var p = $( "logining ").parentNode;
p.appendChild($( "logining "));
getUrl( 'post ', 'service/login.asp ', 'name= '+$( "name ").value+ '&pass= '+escape($( "pass ").value)+ '&code= '+$( "code ").value, 'noshow ', '登陆 ', ' ');
break;
case 2:
logintxt=logintxt+ " <br /> <br /> <input id= 'lob ' type= 'button ' value= '确 定 ' onclick= 'javascript:loginbutton(); ' /> ";
$( "ylogin ").insertAdjacentHTML( "afterEnd ", " <div id= 'loginingx ' class= 'loginingx ' style= 'left: "+(loginwidth+420)+ "px;top: "+(loginheight+10)+ "px; '> </div> ");
var p = $( "loginingx ").parentNode;
p.appendChild($( "loginingx "));
$( "ylogin ").insertAdjacentHTML( "afterEnd ", " <div onKeyDown= 'if(event.keyCode==13){loginbutton();} ' id= 'logining ' class= 'logining ' style= 'left: "+(loginwidth+18)+ "px;top: "+(loginheight+63)+ "px; '> "+logintxt+ " </div> ");
var p = $( "logining ").parentNode;
p.appendChild($( "logining "));
$( "logining ").focus();
break;
}
注意:这段代码在IE和opera下都正常。就是在火狐下没有反应。
请高手指点,为什么在火狐下会不响应键盘事件,有什么解决方法?
另,如果有人知道如何让遮盖层下面的层都无法操作的方法的也请告之一下。谢谢。
------解决方案--------------------貌似IE和firefox下 event事件是不同的
2篇文章 供参考
http://blog.csdn.net/Wintalen/archive/2007/01/27/1495583.aspx
http://blog.csdn.net/city22/archive/2006/07/04/873625.aspx
------解决方案--------------------insertAdjacentHTML(where, text)应该是IE下的
改用标准DOM方法insertAdjacentElement ( sWhere , oElement ) 看看。