【问题标题】:Bootstrap offcanvas prevent closing of offcanvas when you click on datepicker当您单击 datepicker 时,Bootstrap offcanvas 会阻止关闭 offcanvas
【发布时间】:2019-06-22 18:22:26
【问题描述】:

当我在菜单内的表单中使用日期选择器并单击日期选择器按钮时,我遇到了关闭画布菜单的问题。

过去 2 天我一直头疼,但我无法修复它,而且我到处搜索都没有找到解决方案。

我正在使用 jquery ui 和 datepicker 与来自 iamphill 的 bootstrap offcanvas 结合使用

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

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

这里粘贴的代码很长,所以我做了codepen示例

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

如果你看一下,你会看到右上角的黑色小方块,当你点击方块时,会打开画布菜单,第三个输入字段是日期选择器,当你点击时,日期选择器会打开,如果你点击下个月, offcanvas 菜单将关闭。

如果有人知道如何防止关闭,我将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    也可以更改以下代码以使其关闭日期选择器:

    第 253 行

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

    【讨论】:

    • 非常感谢,这个也可以在手机上使用。
    【解决方案2】:

    您需要更改 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')) {
    

    【讨论】:

    • 您的两个答案都是正确的,这该死的快速响应,谢谢你们,但我必须将另一个标记为已接受,因为那个也可以在电话上使用。
    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 2022-11-07
    • 2022-09-30
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多