【问题标题】:Bootstrap Dropdown always get focused when pressing enter key in form在表单中按回车键时,Bootstrap Dropdown 始终获得焦点
【发布时间】:2014-05-15 03:55:26
【问题描述】:

我有一个表格,里面有不同的字段。而且我使用下拉按钮而不是普通的选择标签来获得更好的用户体验。但是,问题是当我在其他文本输入字段上按回车键时,这个下拉菜单总是会聚焦。这很烦人并造成麻烦。

<form>
    <div class="row">
        <div class="col-md-6">
            <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown">
            <span class="dropdown-label">
                Test
            </span>
          </button>
          <button data-toggle="dropdown" class="btn btn-small btn-white dropdown-toggle">
            <span class="caret"></span>
          </button>
          <ul class="dropdown-menu dropdown-select" role="menu">
              <li><a>
                Testing 1
              </a></li>
              <li><a>
                Testing 2
              </a></li>
          </ul>
        </div>
        <div class="col-md-6">
            <input type="text" class="form-control"/>
        </div>
    </div>
</form>

这里是 JS 小提琴:http://jsfiddle.net/ergLb/

你们知道这是为什么吗?

【问题讨论】:

    标签: jquery html twitter-bootstrap


    【解决方案1】:

    我添加了 type="button" 并且它有效。

    https://github.com/twbs/bootstrap/issues/3886

    【讨论】:

      【解决方案2】:

      mdo 在引导问题单中给出了答案:https://github.com/twbs/bootstrap/issues/3886 您在按钮上忘记了type=button,这会触发下拉切换。代码应该是这样的:

      <button type="button" data-toggle="dropdown" class="btn btn-small btn-white dropdown-toggle">
          <span class="caret"></span>
      </button>
      

      【讨论】:

        【解决方案3】:

        默认情况下,当在文本框中按下enter 键时,似乎会触发下拉菜单上的点击事件。您可以使用e.preventDefault()return false 来防止这种默认行为:

        $(".form-control").keydown(function(e){
            if(e.keyCode == 13) {
                return false;
            }
        });
        

        Updated Fiddle

        【讨论】:

        • 可能有人输入了一段代码,当按下回车键时触发表单提交;但使用提交按钮的click 事件而不是表单的submit 事件来实现它。这可以解释为什么 OP 的按钮会被点击。 @OP:为了好玩,如果你改用&lt;select&gt;,你能检查一下是否存在同样的问题吗?如果不是,我认为我的解释是正确的。这也意味着您的答案不能 100% 保证解决,因为错误的实施可能会在您之前触发。我认为...
        • 我知道这个答案在其他情况下可能不正确,但无论如何,它对我有用:)
        猜你喜欢
        • 1970-01-01
        • 2012-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多