Twitter Bootstrap - 下拉菜单 - Arrows键不适用于firefox中的输入标签

时间:2013-12-22 18:02:17

标签: javascript jquery html css twitter-bootstrap-3

要求

我想在用户名和密码字段的drowdown菜单中放入一个登录表单,我能够做到这一点。一切顺利,除了以下问题,

问题

在输入时我无法使用 firefox 中的箭头键(向上/向下),当输入在drowdown代码之外时,这很有效。这适用于谷歌crome等其他浏览器。

  • Firefox 版本 26
  • Bootstrap版本:3.03
  • jquery 1.10

问题:

如何解决这个问题,jquery或twiter的js是否存在问题,因为当我将输入移到下拉列表外时效果很好

小提琴

这里是复制相同的小提琴::: http://jsfiddle.net/santoshjoshi/WKU6M/3/

代码:

    <div id="navbar-example" class="navbar navbar-static">
    <div class="container" style="width: auto;">
        <div class="nav-collapse bs-js-navbar-collapse">
            <ul class="nav navbar-nav pull-left">
                <li id="sign-up-dropdown" class="dropdown closed noshow">
                    <a href="#" id="drop4" role="button" class="dropdown-toggle" data-toggle="dropdown">Sign Up<b class="caret">&nbsp;</b></a>
                    <ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
                        <li role="presentation">
                                <div class="login_dropdown platform-font-1">
                                    <form class="form-horizontal"  action="login" method="POST">
                                        <div class="form-group">
                                            <div class="col-lg-10">
                                                <input type="text" class="form-control " id="email" name="email" placeholder="Email">&#160;</input>
                                            </div>
                                        </div>
                                    </form>
                                </div>
                         </li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</div>
<!-- Arrow keys works with the below input but not the one inside drop down -->
<input type="text" class="form-control " id="email1" name="email" placeholder="Email">&#160;</input>

1 个答案:

答案 0 :(得分:4)

对我来说看起来像是一种错误,但作为一个简单的修复,停止传播onkeydown事件:

DEMO

$('#email').on('keydown',function(e){
    e.stopPropagation();
});