gpt4 book ai didi

javascript - 弹出后禁用所有文本框

转载 作者:行者123 更新时间:2023-11-28 00:13:47 24 4
gpt4 key购买 nike

此问题仅出现在 IE8 上(不是 IE8 兼容模式)。我有一个名为 sample.htm 的文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
<script src='http://jqueryjs.googlecode.com/files/jquery-1.3.2.js' type='text/javascript'></script>
</head>
<body style='position:relative;z-index:1'>
<input><a href="javascript:Popup('test1.html');">Click</a>
<script>
function Popup(url) {
overlay = $("<div style='position:fixed; width:100%; height:100%; z-index:10005'><div style='position:absolute; width:100%; height:100%; background:black; -ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)\"; filter: alpha(opacity=50);'></div>");
iframe = $("<iframe name='Overlay' style='position:absolute; height:80%; width:80%; top:10%; left:10%;' src='" + url + "'></iframe>");
closebut = $("<img style='position:absolute; cursor:pointer; right:10%; top:10%;' width='24px' height='24px' src='/images/close.png' onclick='RemovePopup()' >");
overlay.append(iframe).append(closebut);
$('body').prepend(overlay);
}
function RemovePopup() {
overlay.animate({top:'100%'},800,'swing', function() { $(this).remove(); });
}
</script>
</div></body></html>

这里是test1.html的完整内容:<html><head></head><body><input></body></html>

因此创建这两个文件,在 IE8 中打开 sample.htm,单击链接打开弹出窗口,在文本框中键入内容,关闭弹出窗口,尝试在第一个文本框中键入。如果可以,请重复 2 或 3 次。最终第一个文本框被禁用。

谁能提出解决方法?

感谢您的帮助

最佳答案

基本上我认为这是一个 focus问题。如果可以让浏览器进入<input>的情况似乎被禁用然后你实际上可以Tab<input>并按预期输入一个值。

我相信$(this).remove();当 iframe 中的元素具有焦点时,在动画结束时调用删除 iframe 会导致问题。我建议先给出 <input>在移除 iframe 之前聚焦。

例如,使用$('input:first').focus();如果它是第一个输入。它似乎在我这里的测试中有效。

关于javascript - 弹出后禁用所有文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13474850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com