我在这里为选择框下载了一个jquery插件: http://harvesthq.github.io/chosen/
我的页面上的一切正常,除了在我的一个页面上,选择框放在一个jquery对话窗口中,该窗口在按钮点击时打开。我遇到的问题是,单击按钮后,对话框会正确打开,但它会立即将焦点放在第一个选择字段上,这是我不想要的。
如果我把它放在页面上它工作正常,加载时不会打开。我在这里找到了类似的问题和可能的解决方案:
$( "#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
点击按钮" Filtr",打开对话框,您会看到第一个选择框立即弹出。
答案 0 :(得分:2)
这是因为专注于第一次输入。尝试在对话框中创建一个虚拟元素作为第一个输入。
<input type="hidden" autofocus="autofocus" />
这里是reference。希望它也有帮助。