Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个jquery对话框焦点函数有什么问题?_Jquery_Dialog_Focus - Fatal编程技术网

这个jquery对话框焦点函数有什么问题?

这个jquery对话框焦点函数有什么问题?,jquery,dialog,focus,Jquery,Dialog,Focus,如果有人能帮我,我将永远感激 从本质上说,焦点函数应该使其成为这样,如果用户在对话框中除最后一个字段外的任何字段中按enter键,它将充当选项卡。如果他们在最后一个字段中按enter键,则提交表单。后一个功能可以工作,但选项卡不能 有人知道为什么吗?。我没有发布整个代码块,但这应该会提供足够的数据。我是否使用event.target错误 $('#dialog-add-items').dialog({ autoOpen: false, resizable: fals

如果有人能帮我,我将永远感激

从本质上说,焦点函数应该使其成为这样,如果用户在对话框中除最后一个字段外的任何字段中按enter键,它将充当选项卡。如果他们在最后一个字段中按enter键,则提交表单。后一个功能可以工作,但选项卡不能

有人知道为什么吗?。我没有发布整个代码块,但这应该会提供足够的数据。我是否使用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();
                }
            });
        },...

如果让我猜的话,我会说$'.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;};