zoukankan      html  css  js  c++  java
  • 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();
        }
    });



  • 相关阅读:
    [ZJOI2014]力
    [八省联考2018]劈配
    [APIO2007]动物园
    [九省联考2018]IIIDX
    [HAOI2015]树上染色
    [SHOI2008]堵塞的交通
    暑假第五周
    暑假第四周
    暑假第三周
    暑假第二周
  • 原文地址:https://www.cnblogs.com/haogj/p/3036864.html
Copyright © 2011-2022 走看看