5

如果日期选择器中的月份选择在引导模式中,则它在 FireFox 中不起作用。

<button class="btn" id="btn">Click Me</button>

<div class="modal hide" id="modal" tabindex="-1">
    <div class="modal-body">
        <input type="text" id="datepicker" />        
    </div>
</div>

JavaScript:

$("#datepicker").datepicker({"changeMonth": true});

$('#btn').click(function() {
    $("#modal").modal('show');
});

这是一个缩小的例子:http: //jsfiddle.net/nKXF2/

我发现了一个类似的 twitter-bootstrap github 问题:https ://github.com/twbs/bootstrap/issues/5979

4

3 回答 3

24

我为这个错误找到了两个修复:

修复 1:如果删除 div.modal 中的 tabindex 属性,月份选择就可以正常工作。 我对此解决方案的唯一问题是,在 IE(任何版本)上,您仍然需要双击月份下拉菜单才能打开它。

Fix2:您可以在以下位置找到第二个解决方案:http: //jsfiddle.net/nKXF2/1/通过覆盖这个问题中提出的 enforceFocus 函数,您可以让月份下拉菜单再次工作。

$('#modal').on('show', function () {
    $.fn.modal.Constructor.prototype.enforceFocus = function () { };
});

我认为第二个是最好的。

于 2014-03-21T17:58:37.557 回答
0

我遇到了同样的问题,但这是因为我在输入框上有填充。一旦删除它修复了一切。这让我觉得我讨厌 Firefox,即使这是我的错。:P

于 2015-01-14T21:46:57.670 回答
0

首先尝试只检测firefox浏览器

	if (navigator.userAgent.toLowerCase().indexOf('firefox') !== -1) {
		$.fn.modal.Constructor.prototype.enforceFocus = function (){};
	}

于 2018-03-08T14:47:04.663 回答