我想在用户聚焦某个输入框时显示一个jquery UI对话框。问题是,关闭对话框后输入框不会得到焦点,这意味着用户点击进入输入框,打开对话框。用户关闭对话框 - >输入框没有焦点。
实际聚焦输入框的唯一方法是在对话框已经显示时再次点击它。这很烦人。我希望输入框在关闭对话框后有焦点。
$(function() {
$( "#identifiersDialog" ).dialog({autoOpen: false});
});
$('#identifiers').focus(function(event) {
$( "#identifiersDialog" ).dialog('open');
});
答案 0 :(得分:2)
您可以使用
$(function(){
InitiliseInput();
});
function InitiliseInput(){
$('#identifiers').bind('focus', function() {
$('#identifiersDialog').dialog({ close: function() {
$('#identifiers').unbind('focus').focus().blur(function(){ InitiliseInput()});
}});
});
}
此处的工作示例http://jsfiddle.net/RCBQs/1/
一旦焦点离开输入,blur
功能就会重置对话框,以便重新对焦再次打开对话框。
答案 1 :(得分:-1)
这应该有所帮助。
$(function() {
$( "#identifiersDialog" ).dialog({autoOpen: false, close: function() { $('#identifiers').focus() }});
});
$('#identifiers').focus(function(event) {
$( "#identifiersDialog" ).dialog('open');
});