【发布时间】:2011-11-08 04:31:42
【问题描述】:
我必须使用 JAVASCRIPT:focus() 将焦点移到父框架。
问题是文本字段失去焦点仍然有光标在其中并可编辑。
有没有办法解决这个问题?
※问题出现在IE6下。 (IE8 按我的预期工作得很好。)
这里是源代码,
//--- 1.html
<iframe src="2.html"></iframe>
<form name="frmMain">
<input type="button" name="btnConfirm" value="CONFIRM" />
</form>
//--- 2.html
<head>
<script language="javascript">
function test() {
keynum = event.keyCode;
if (keynum == 9 || keynum == 13)
parent.frmMain.btnConfirm.focus();
}
</script>
</head>
<body>
<input type="text" onKeyDown="test()" />
<input type="text" value="dummy" />
【问题讨论】:
-
首先,你不应该支持 IE6(谷歌 IE6 倒计时),但无论如何,
.blur()到文本字段(顺便说一句,你的代码中不存在,因为只有一个按钮)可能有帮助) -
.blur()效果很好。谢谢JCOC611! -
@JCOC611 - 开发人员是否编写代码来支持特定浏览器是一个商业决策,应该由做出此类决策的人决定。考虑到在这种情况下支持 IE 6 的成本是几分钟,很可能只需要一个满意的客户就可以让它变得物有所值。
-
@RobG:是的,这完全是 OP 的决定,我不会对此提出异议。但是,我认为不应该让 IE6 保持活力......这只是我...... kimchoky:我很高兴 :) 我会发布它作为答案
标签: javascript focus internet-explorer-6