2

我的 jQuery Mobile 应用程序中的面板有点问题。一切正常,除了在单击外部时关闭面板的功能。

请参阅下面的屏幕截图,它解释了我的问题。

在此处输入图像描述

注意我画的红线。如果我在面板打开时单击该行的右侧,它可以正常工作。但是,如果我单击该行的左侧,则面板不会被关闭。

这是html部分。

<div data-role="panel" id="sidebar-menu-monthly" data-position="left" data-display="overlay" data-dismissible="true" data-theme="a" >
    <ul>
        <li> </li>
        <li> </li>
        <li> </li>
        <li> </li>
        <li> </li>
        <li> </li>
    </ul>
</div>

我也试过设置data-display="push"。那也没有用。

这是样式表部分:

/* wrap on wide viewports once open */
@media (min-width:55em){
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-left,
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-left,
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-left,
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-left {
        margin-right: 17em;
    }
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-right,
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-right,
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-right,
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-right {
        margin-left: 17em;
    }
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push,
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal {
        width: auto;    
    }
    .ui-responsive-panel .ui-panel-dismiss-display-push {
        display: none;
    }
}

我已经尝试过这个答案,但它对我没有帮助。我还检查了这个小提琴。但这并没有让我知道我需要在样式表中进行哪些更改。

我也尝试更改@media (min-width:55em)@media (min-width:35em),但这也无济于事。

如果有人可以帮助样式表部分,那就太好了。

PS:我已经在浏览器中检查了 Panel 的 div 并没有比实际看起来更宽。所以这不是问题。

4

2 回答 2

1

我发现了这个问题。

这个 css (来自默认的 jqm css - jquery.mobile-1.3.2.min.css)正在创建问题

.ui-panel-dismiss-open
{
    left: 17em;
}

所以它只在最右边的区域被解雇了。我必须覆盖我的 css 文件中的 css 以:

.ui-panel-dismiss-open
{
    left: 13em !important;
}

现在它工作正常。

于 2013-10-30T15:43:31.280 回答
0

我在单击其右侧部分时遇到关闭响应面板的问题,我必须使用上面建议的代码覆盖关闭区域,但将其放在 % 中更有用,以便它可以正常工作任何浏览器

left: 80% !important;

于 2014-05-16T17:17:18.953 回答