【问题标题】:Forcing jQuery UI dialog button focus强制 jQuery UI 对话框按钮焦点
【发布时间】:2013-01-19 07:43:15
【问题描述】:

我有几个带有 OkCancel 的 jQueryUI 对话框和单选按钮(无文本输入)。

我的要求是:

确定按钮应该在取消按钮的右边,确定按钮应该是焦点:

  1. 当对话框打开时,
  2. 在任何用户单击或拖动后。

要求 1 可以通过为 Ok 按钮提供一个 id 和以下代码来实现:
open: function(event, ui) { $('#OkButton').focus(); },

要求 2 更难。它可以通过为许多事件定义焦点代表来实现:

  • .ui-dialog-titlebar 点击
  • .ui-dialog-buttonpane 点击
  • 拖动停止

但肯定有更简单的方法吗?

【问题讨论】:

    标签: jquery-ui button dialog


    【解决方案1】:

    试试这个代码。 myDialog 是主对话框 div 当您拖动对话框时,这将完成这项工作

    jQuery('.myDialog').bind('move', function(e) {
        $('#OkButton').focus();
    }).bind('moveend', function() {});
    

    当你点击你的对话框主 div 时,这将完成这项工作。

    jQuery('.myDialog').click(function(){
        $('#OkButton').focus();
    });
    

    【讨论】:

    • 感谢您的回答。您的第一个建议可能通过在对话框小部件上定义一个 dragStop 事件处理程序来更好地实现。您的第二个建议不起作用,但这个可以jQuery('.ui-dialog').click(function(){ $('#okButton').focus(); return true; }
    • 感谢您的审阅。并且“mydialog”类实际上是指主 div 类,在 jQuery 对话框的情况下是 jQuery 本机“.ui-dialog”
    猜你喜欢
    • 2010-12-20
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2010-10-31
    • 2011-02-01
    相关资源
    最近更新 更多