【问题标题】:Automatic opening of select box自动打开选择框
【发布时间】:2014-12-29 17:15:14
【问题描述】:

我在这里下载了一个用于选择框的 jquery 插件: http://harvesthq.github.io/chosen/

在我的页面上一切正常,除了在我的一个页面上,选择框放置在一个 jquery 对话框窗口中,该窗口在单击按钮时打开。我遇到的问题是,单击按钮后,对话框正确打开,但它立即将焦点放在第一个选择字段上,这是我不想要的。

如果我把它放在页面上它工作正常,加载时不会打开。我在这里发现了一个类似的问题和一个可能的解决方案:

http://jsfiddle.net/6Xa78/3/

$( "#dialog" ).dialog({
    autoOpen: false,
    show: {
        effect: "puff",duration: 500
    },
    hide: {
        effect: "puff",
        duration: 500
    },
    height: 1000, 
    width: 1000,
    position:['middle',30],
    open: function(){
        $('.my_select_box', this).chosen();
    }
});
$( "#opener" ).click(function() {
    $( "#dialog" ).dialog( "open" );
});

但即使我使用完全相同的代码,它仍然可以。我还尝试删除第一个选择框,然后它会自动打开第二个选择框 - 换句话说,它总是打开第一个选择框。我也尝试用 id 替换类,但这没有效果,尝试使用 focusout 命令或 blur 命令也没有效果。它总是在打开对话框时打开...

我的页面在这里:

http://meteopage.com/climate/climate_map.php

尝试单击“过滤器”按钮,打开对话框,您会看到第一个选择框立即弹出。

【问题讨论】:

    标签: javascript jquery forms dialog


    【解决方案1】:

    发生这种情况是因为专注于第一次输入。尝试在对话框中创建一个虚拟元素作为第一个输入。

    <input type="hidden" autofocus="autofocus" />
    

    这里是reference。希望它也有帮助。

    【讨论】:

    • 非常感谢!解决了问题:-)
    猜你喜欢
    • 2012-12-19
    • 2012-04-02
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多