首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery厚盒与iframe。将焦点设置为输入字段

问JQuery厚盒与iframe。将焦点设置为输入字段
EN

Stack Overflow用户
提问于 2009-06-23 07:05:44
回答 2查看 7.5K关注 0票数 2

嗨,我的应用程序上有一个jquery稠箱模式popup。(iframe)

一切都很好,但是我想将焦点设置为一个特定于的输入字段d。

Iframe加载一个普通的aspx页面,所以我想我应该做一个$(document).ready(..focus);

我把这个脚本放在IFrame代码中

然而,这是行不通的。我相信,在“准备好”之后,一些其他代码将由加厚框执行,这样它就会再次失去焦点。(例如..。我可以设置输入字段的值,这样机制才能正常工作。

有人能帮我确定焦点吗?下面是我的呼叫代码..

代码语言:javascript
复制
<a href="page.aspx?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=550&width=700" title="Add" class="thickbox">Add</a>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-04 20:10:42

ThickBox通过在iframe元素的onload事件中调用一个方法来显示iframe的容器。由于iframe隐藏在父页面上,直到加载了iframe的内容之后,您不能使用$(document).ready(..focus);;来设置焦点。我找到的最简单的解决方法是使用setTimeout将设置焦点的函数调用推迟到iframe显示之后:

代码语言:javascript
复制
jQuery(document).ready(function() {        
    setTimeout(function(){
        $('#YourElementID').focus();   
    },200);
});

注意:您可能必须调整传递给setTimeout的毫秒值。

票数 4
EN

Stack Overflow用户

发布于 2009-06-24 07:22:22

来自docs.jquery.com:

触发每个匹配元素的焦点事件。

这将导致执行绑定到focus事件的所有函数。请注意,这不会执行基础元素的焦点方法。

这意味着,您的代码更有可能是:$('#input_field').get(0).focus ()

区别在于,在我的示例中使用DOM元素自己的focus元素,而在您的示例中使用jQuery的。

仍然不能工作,但可能是朝着正确方向迈出的一步。

干杯,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1031032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档