关闭thickbox后,textbox无法聚焦
问题如题所示
3. 弹出层关闭后,文本框无法聚焦。
症状:关闭弹出层后,原来页面上的文本框无法聚焦
原因和解决方法:这个的原因不好说,很多人都认为是ie本身的bug。是由于iframe没有移除,即使移除了。内存上也么有清除造成的。这也是我猜的。哈哈。解决方法是在tb_remove()中先手动移除iframe然后,在强制做垃圾回收,至少我是可以啦。哈哈。代码如下:
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}
jQuery(document).ready(function() { setTimeout(function(){ $('#YourElementID').focus(); },200);});
[解决办法]