Bootstrap Offcanvas防止在单击Datepicker时关闭Offcanvas

时间:2019-01-29 15:17:23

标签: javascript jquery twitter-bootstrap datepicker off-canvas-menu

当我在菜单内的窗体中使用datepicker并单击datepicker按钮时,offcanvas菜单关闭会遇到问题。

最近两天我一直在努力工作,但我无法解决这个问题,在我搜索的所有地方都找不到解决方法。

我将jquery ui和datepicker与iamphill的引导程序画布结合使用

https://github.com/iamphill/Bootstrap-Offcanvas

我在offcanvas菜单和datepicker字段中有一些输入,当我打开菜单并单击datepicker上的任何日期或上一个/下一个时,offcanvas菜单会自行关闭。

要粘贴的代码很长,所以我制作了代码笔示例

https://codepen.io/lonerunner/full/dapzNX

如果您看一下,您会在右上角看到一个小的黑色正方形,单击正方形时,offcanvas菜单将打开,第三个输入字段为datepicker,单击datepicker时将打开,如果您单击下个月,offcanvas菜单将关闭。

如果有人知道如何防止近距离接触,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

您需要更改Offcanvas.prototype._documentClicked函数。第256行(例如):

if (!clickedEl.hasClass('offcanvas-toggle') && clickedEl.parents('.offcanvas-toggle').length === 0 && clickedEl.parents('.navbar-offcanvas').length === 0 && !clickedEl.hasClass('navbar-offcanvas') && !clickedEl.hasClass('ui-corner-all')) {

答案 1 :(得分:1)

还有一种方法是更改​​以下代码,以使其在日期选择器上关闭:

第253行

  Offcanvas.prototype._documentClicked = function(e) {
    if($('.ui-datepicker').is(':visible')) {
        return;
    }