0

如果有人可以帮助我,我将永远感激不尽。

从本质上讲,焦点功能应该是这样,如果用户在对话框中的 3 个字段中的最后一个字段之外的任何字段中按下回车键,它就会充当一个选项卡。如果他们在最后一个字段中按回车键,它会提交表单。后一个功能有效,但制表符无效。

有谁知道为什么?我没有发布整个代码块,但这应该提供足够的数据。我使用 event.target 错了吗?

$('#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();
                }
            });
        },...
4

2 回答 2

0

如果我不得不猜测,我会说这$('.ui-dialog-buttonpane button:first').click();是罪魁祸首。尝试为您的按钮提供一个 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'}],...
于 2012-07-03T18:40:21.543 回答
0

我最后只是添加了一个 if/else 语句来测试 2 个字段中的哪一个被聚焦,然后跳转到下一个。笨重而丑陋,但这是我唯一可以开始工作的事情。

于 2012-07-04T12:34:21.087 回答