嗨,我的应用程序上有一个jquery稠箱模式popup。(iframe)
一切都很好,但是我想将焦点设置为一个特定于的输入字段d。
Iframe加载一个普通的aspx页面,所以我想我应该做一个$(document).ready(..focus);
我把这个脚本放在IFrame代码中
然而,这是行不通的。我相信,在“准备好”之后,一些其他代码将由加厚框执行,这样它就会再次失去焦点。(例如..。我可以设置输入字段的值,这样机制才能正常工作。
有人能帮我确定焦点吗?下面是我的呼叫代码..
<a href="page.aspx?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=550&width=700" title="Add" class="thickbox">Add</a>发布于 2009-08-04 20:10:42
ThickBox通过在iframe元素的onload事件中调用一个方法来显示iframe的容器。由于iframe隐藏在父页面上,直到加载了iframe的内容之后,您不能使用$(document).ready(..focus);;来设置焦点。我找到的最简单的解决方法是使用setTimeout将设置焦点的函数调用推迟到iframe显示之后:
jQuery(document).ready(function() {
setTimeout(function(){
$('#YourElementID').focus();
},200);
});注意:您可能必须调整传递给setTimeout的毫秒值。
发布于 2009-06-24 07:22:22
来自docs.jquery.com:
触发每个匹配元素的焦点事件。
这将导致执行绑定到focus事件的所有函数。请注意,这不会执行基础元素的焦点方法。
这意味着,您的代码更有可能是:$('#input_field').get(0).focus ()
区别在于,在我的示例中使用DOM元素自己的focus元素,而在您的示例中使用jQuery的。
仍然不能工作,但可能是朝着正确方向迈出的一步。
干杯,
https://stackoverflow.com/questions/1031032
复制相似问题