在对话框中按下ENTER键时触发

时间:2012-10-19 08:49:30

标签: jquery jquery-ui

当对话框打开时,我将其聚焦于$(this).parents( ...,当按下ENTER键时,它应该执行,但事实并非如此。当按下ENTER键时如何执行它?

            open: function() { 
                $(this).parents('.ui-dialog-buttonpane button:eq(0)').focus();
                $("#DIALOG2").keydown(function(event) {
                    if (event.which == 13) { //EXECUTE!
                        $(this).dialog("close");
                        ajax_usun(del_id);
                    }
                });             
            }

JSfiddle with example :(点击删除按钮,然后按下对话框中的按钮,用鼠标按下输入 - 没有任何反应)http://jsfiddle.net/FkbLT/2/

1 个答案:

答案 0 :(得分:1)

编辑:

我发现了问题。

            show: 'scale',                 

导致焦点无法应用,可能是因为它在“缩放”效果仍在运行时尝试(并失败)应用焦点,然后当缩放效果结束时,您没有关注按钮。

小提琴:http://jsfiddle.net/VjakR/

编辑2:肯定是一个JQuery Bug,我已经尝试了所有'show'可能的设置,结果证明它适用于:

blind
clip
drop
fold
puff
slide
size
pulsate

虽然它打破了:

scale
explode

只需选择另一个,和/或向JQuery开发人员报告此错误......