当前位置: 代码迷 >> ASP.NET >> 关闭thickbox后,textbox无法聚焦解决办法
  详细解决方案

关闭thickbox后,textbox无法聚焦解决办法

热度:3592   发布时间:2013-02-25 00:00:00.0
关闭thickbox后,textbox无法聚焦
问题如题所示

 3. 弹出层关闭后,文本框无法聚焦。


    症状:关闭弹出层后,原来页面上的文本框无法聚焦

    原因和解决方法:这个的原因不好说,很多人都认为是ie本身的bug。是由于iframe没有移除,即使移除了。内存上也么有清除造成的。这也是我猜的。哈哈。解决方法是在tb_remove()中先手动移除iframe然后,在强制做垃圾回收,至少我是可以啦。哈哈。代码如下:
C# code
 1function tb_remove() { 2    var seq=PopSeq(); 3     $("#TB_imageOff"+seq).unbind("click"); 4     $("#TB_closeWindowButton" + seq).unbind("click"); 5 6     $("#TB_window" + seq).fadeOut("fast", function() { 7         /**////手动移除ifrmae,IE的一个bug 8         $('#TB_iframeContent' + seq).remove(); 9         $('#TB_window' + seq + ',#TB_overlay' + seq + ',#TB_HideSelect' + seq).trigger("unload").unbind().remove();10        /**////自己调用垃圾回收,强制清楚iframe内存,解决文本框无法输入问题。11         CollectGarbage();12     });13    if (typeof document.body.style.maxHeight == "undefined") {//if IE 614        $("body","html").css({height: "auto", width: "auto"});15        $("html").css("overflow","");16    }17    document.onkeydown = "";18    document.onkeyup = "";19    return false;20}

这个是网络上的答案,但是,好像不行;
问一下,有没有解决的办法,是什么原因产生的。

------解决方案--------------------------------------------------------
没遇见过这样的问题,肯定是你哪里写的有问题。
弹出层不是用div吗,为啥又牵涉了iframe?
------解决方案--------------------------------------------------------
看到这类代码,我想以后大家别想开发大型应用系统了,都花时间去死抠javascript吧。
------解决方案--------------------------------------------------------
刚才看错了,原来是JQuery的东西。下面这段代码是可以的,不过要自己调整timeout的时间:
JScript code
jQuery(document).ready(function() {            setTimeout(function(){        $('#YourElementID').focus();       },200);});
------解决方案--------------------------------------------------------
探讨
看到这类代码,我想以后大家别想开发大型应用系统了,都花时间去死抠javascript吧。

------解决方案--------------------------------------------------------
...
------解决方案--------------------------------------------------------
你怎么写的
------解决方案--------------------------------------------------------
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
  相关解决方案