jBox 弹出窗口中焦点设置问题
jBox 是一个不错的组件库,可以用来比较简单地弹出窗口。
我希望在 jBox 弹出窗口之后,自动将焦点设置到子窗口的某个输入框中,可是发现并不容易。
在 jBox 2.3 中,提供了如下的增强。
[调整] loaded 选项增加了个参数h,参数h表示窗口内容的jQuery对象,方便用户在窗口加载后对内容进行初始化处理。
示例中并没有说明 h 的使用方式。
那么,这个 h 是什么呢?
在使用 jBox 的时候,每个弹出的窗口,会创建一个 id 为 jbox-content 的 div 元素包裹所有的窗口内容。在 loaded 中,jBox 传递给函数的参数就是这个元素。这个元素的结构如下:
<div style="height: auto; overflow-x: hidden; overflow-y: auto; position: static; left: -10000px;" class="jbox-content" id="jbox-content">
<iframe scrolling="auto" width="100%" height="100%" frameborder="0" marginwidth="0" marginheight="0" id="jbox-iframe" name="jbox-iframe" src="iframe2.html?___t0.9552568292007391"></iframe>
</div>
注意这个元素唯一的子元素为一个 iframe 元素,隔断了 jQuery 的查找。使得我们不能直接找到子窗口中的元素进行处理。
我们可以先找到这个元素的第一个孩子,就是这个 iframe,然后,取出它的名字,通过这个名字找到这个 iframe 对应的窗口,然后,在这个子窗口中查找我们的内容。
代码如下所示:
$.jBox("iframe:iframe2.html", {
loaded: function (h) {
var iframeName = h.children(0).attr("name");
var container = window.frames[iframeName].document
var elem = $("#username", container);
elem.focus();
}
});
jBox 弹出窗口中焦点设置问题的更多相关文章
- CKFinder 弹出窗口操作并设置回调函数
CKFinder 弹出窗口操作并设置回调函数 官方例子参考CKFinderJava-2.4.1/ckfinder/_samples/popup.html 写一个与EXT集成的小例子 Ext.defin ...
- iphone对fixed模态框支持不太好,弹出窗口中滚动点击穿透的bug
iphone对fixed展现层中存在滚动内容支持非常不好, 尤其是背景页面产生滚动以后,输入控件就找不到了, 取消冒泡也不行,最后是这么解决的,可以参考 <style> .modeldiv ...
- 在Javascript弹出窗口中输入换行符
private void showMessage(string strMsg) { Page.RegisterStartupScript("scriptStr", "&l ...
- Jbox 弹出窗口 子页面操作完成后关闭 父页面刷新
父页面js //父页面js <script> var isFreshFlag = '1'; //添加会议活动 function addMeetingAct(){ var attendVip ...
- 在HTML网页中设置弹出窗口的办法
[1.最基本的弹出窗口代码] 其实代码非常简单: <SCRIPT LANGUAGE="javascript"> <!-- window.open ('page.h ...
- [转]js来弹出窗口的详细说明
1.警告对话框 <script> alert("警告文字") </script> 2.确认对话框 <script> confirm(" ...
- 34.qt quick-Popup弹出窗口自定义
1.Popup介绍 Popup是一个弹出窗口的控件它的常用属性如下所示: anchors.centerIn : Object,用来设置居中在谁窗口中. closePolicy : enumeratio ...
- JS弹出窗口代码大全(详细整理)
1.弹启一个全屏窗口 复制代码代码如下: <html> <body http://www.jb51.net','脚本之家','fullscreen');">; < ...
- asp .NET弹出窗口 汇总(精华,麒麟创想)
asp .NET弹出窗口 汇总(精华,麒麟创想) 注://关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javas ...
随机推荐
- [Hibernate] - Annotations - Many To Many
Hibernate annotation 多对多: 下面测试例子会自动生成一张表:card,这张是bank和user表的映射表.里头是bank_id和user_id两个组合字段. 如果想在这张映射表中 ...
- php PDO连接数据库
[PDO是啥] PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll.php_pgsql.d ...
- Env:VIM配置
注:文章来自于http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配 ...
- 使用 Override 和 New 关键字进行版本控制
使用 Override 和 New 关键字进行版本控制 C# 语言经过专门设计,以便不同库中的基类与派生类之间的版本控制可以不断向前发展,同时保持向后兼容. 这具有多方面的意义.例如,这意味着在基类中 ...
- JavaScript-CheckBox全选/反选
//------------------------------------ // 全/反选 // param checkName checkbox的name属性 //---------------- ...
- 黄聪:chrome扩展开发《AJAX请求》
chrome在一次更新之后,出于安全考虑,完全的禁止了content_script从https向http发起ajax请求,即使正常情况下也会在console里给出提示.这对于WEB来讲是好事,但对于扩 ...
- 黄聪:WordPress 的 Hook 机制与原理(add_action、add_filter)
稍有接触过 WordPress 主题或插件制作修改的朋友,对 WordPress 的Hook机制应该不陌生,但通常刚接触WordPress Hook 的新手,对其运作原理可能会有点混乱或模糊.本文针对 ...
- php 设置一个函数的最大运行时间
如何防止一个函数执行时间过长呢?在PHP里可以用pcntl时钟信号+异常来实现 declare(ticks = 1); function a() { sleep(10); echo "a f ...
- Mac下lombok无法安装到eclipse mars
eclipse升级到mars之后 , 在mac下已经不再是文件夹中有很多文件的eclipse了 , 只有一个单独的app文件.用原来的方式运行lombok再选eclipse.app已经不行了. 自己鼓 ...
- SmtpClient 类
1, SmtpClient 类 http://www.cnblogs.com/panlijiao/archive/2012/11/14/2773836.html