为了方便用户的输入,我们一般默认页面载入后焦点设置在第一个输入的控件上,使用thickbox,弹出后的窗口怎么设置焦点呢?
原来是想说在新的页面上直接设置:$("#id").focus();的,但发现,这个在页面截入前就执行了,查找了一下http://codylindley.com/thickboxforum
的论坛,发现这种情况有两种方法可以解决:
1,还是老方法,只是延迟了时间执行焦点的获取:
setTimeout("$('#username').focus();",100);
2,比较完美的方法,但得修改thickbox.js文件.
2.1在原thickbox.js 文件中从219到239行内的三个判断语句中的:$("#TB_window").css({display:"block"});后增加一句:
$("#TB_iframeContent").contents().find("body").find(".grabfocus:first").focus();//新增加的第一个获得焦点
2.2接下来在页面中需要获得焦点的控件的class 加上:grabfocus 这个类.就可以了..
备注:
Thickbox 3.1
jquery-1.4.4.min.js