这个jquery对话框焦点函数有什么问题?
如果有人能帮我,我将永远感激 从本质上说,焦点函数应该使其成为这样,如果用户在对话框中除最后一个字段外的任何字段中按enter键,它将充当选项卡。如果他们在最后一个字段中按enter键,则提交表单。后一个功能可以工作,但选项卡不能 有人知道为什么吗?。我没有发布整个代码块,但这应该会提供足够的数据。我是否使用event.target错误这个jquery对话框焦点函数有什么问题?,jquery,dialog,focus,Jquery,Dialog,Focus,如果有人能帮我,我将永远感激 从本质上说,焦点函数应该使其成为这样,如果用户在对话框中除最后一个字段外的任何字段中按enter键,它将充当选项卡。如果他们在最后一个字段中按enter键,则提交表单。后一个功能可以工作,但选项卡不能 有人知道为什么吗?。我没有发布整个代码块,但这应该会提供足够的数据。我是否使用event.target错误 $('#dialog-add-items').dialog({ autoOpen: false, resizable: fals
$('#dialog-add-items').dialog({
autoOpen: false,
resizable: false,
width:500,
position:['center',80],
modal: true,
focus: function() {
$(':input:last', this).unbind('keyup').keyup(function(event) {
if (event.keyCode == 13) {
$('.ui-dialog-buttonpane button:first').click();
}
});
$(':input:not(:last)', this).unbind('keyup').keyup(function(event){
if(event.keyCode == 13){
name=event.target;
$(name).next('input').focus();
}
});
},...
如果让我猜的话,我会说$'.ui对话框按钮平面按钮:first'。单击;是罪魁祸首。尝试为按钮提供一个ID和参考,如下所示:
$('#dialog-add-items').dialog({
autoOpen: false,
resizable: false,
width:500,
position:['center',80],
modal: true,
focus: function() {
$(':input:last', this).unbind('keyup').keyup(function(event) {
if (event.keyCode == 13) {
$('#okbutton').click();
}
});
$(':input:not(:last)', this).unbind('keyup').keyup(function(event){
if(event.keyCode == 13){
name=event.target;
$(name).next('input').focus();
}
});
},
buttons: [{text: 'Ok', id:'okbutton'}],...
我只是添加了一个if/else语句来测试这两个字段中的哪一个是焦点,然后跳到下一个字段。笨重难看,但这是我唯一能去上班的东西。不行。我希望很明显,这是第二部分不起作用,即:$':input:not:last',this.unbind'keyup.keyupfunctionevent{ifevent.keyCode==13{name=event.target;$name.next'input.focus;};