zoukankan      html  css  js  c++  java
  • 弹出的iframe 表单无法获取焦点

    昨天被朋友问到这个问题,

    说一个弹窗里面包含一个编辑字段的iframe,在IE下面 第二次弹出的时候,弹窗中的元素便不能获取焦点。

    开始怀疑是z-index的原因,修改无效。

    后来搜索到这篇文章: 

    http://www.dewen.org/q/2662

    明白了原因,也就是关闭弹窗的时候 简单的移除了弹窗,没有对iframe进行清理,这样内存里面相当于还有一份iframe的实例,

    这就造成了第二次弹窗 元素无法获取焦点。

    解决方法可以参照上面这篇文章,没有亲自验证。

    对于关闭按钮存在于弹出的iframe中的,可以在父层窗口准备一个移除iframe的方法,在关闭的时候运行一下,销毁需要关闭的iframe实例。

    var clearIframe = function(f){
                try{
                    f.contentWindow.document.write('');
                    f.contentWindow.close();
    f.parentNode.removeChild(frame);
                }catch(e){}

            };  

    var close = function(){ if(typeof top.clearIframe == 'function'){ top.clearIframe(self) }  /*...其他要做的...*/ };

    这样再弹出的就是新的iframe而不和内存中的残留冲突了。 

  • 相关阅读:
    阿里云配置学习
    华为机试练习代码
    微信公众号开发
    给div加滚动条
    Nolia 给CC添加过滤器
    算法理解
    Jquery常用功能
    day 2Linux软件从主机安装到服务器和安装JDK软件
    10月11 一些小的东西
    9月30 json工具类
  • 原文地址:https://www.cnblogs.com/trance/p/2721450.html
Copyright © 2011-2022 走看看