【问题标题】:Focus the first field in modal forms以模态形式聚焦第一个字段
【发布时间】:2025-11-30 11:35:01
【问题描述】:

我正在使用来自 Twitter 的 Bootstrap 在 Marionette 应用程序中生成模式对话框。

我想知道在不使用花哨的 javascript 的情况下,将第一个字段集中在模态表单中的最佳方法是什么。

这是我的代码:

var app = new Marionette.Application();

app.addRegions({
    modal: '#modal'
});

app.vent.on('showModal', function (view) {
    var modal = app.modal;

    modal.show(view);
    modal.$el.modal({
        show: true,
        keyboard: true,
        backdrop: 'static'
    });
});

【问题讨论】:

标签: twitter-bootstrap modal-dialog marionette


【解决方案1】:

你可以使用doc中看到的shown事件

modal.$el.on('shown', function () {
  $('input:text:visible:first', this).focus();
});

【讨论】:

    【解决方案2】:

    如果odupont 的回答对你没有帮助,(像我一样)试试这个:

    $('.modal').on('shown.bs.modal', function () {
        $('#firstField').focus();
    })
    

    【讨论】:

      【解决方案3】:

      这是一个更新的答案:

      $('.modal').on('shown.bs.modal', function () {
          $('input:first', this).focus();
      });
      

      【讨论】: