javascript - md-sidenav Angular Material 防止点击外部关闭

标签 javascript html angularjs angular-material

如果我单击侧面导航外部(如果单击 md-backdrop),我需要防止侧面导航关闭。例如,对于 md-dialog,有一个名为:clickOutsideToClose 的指令,其中 false 表示如果单击外部,则不会关闭对话框。我需要这样的东西。有可能吗?这是导航的示例:http://codepen.io/ThomasBurleson/pen/LEZvWw

<div ng-app="sidenavDemo1" ng-controller="AppCtrl" layout="column" layout-fill>
  <section layout="row" flex>
    <md-sidenav class="md-sidenav-left md-whiteframe-z2" md-component-id="left" md-is-locked-open="$mdMedia('gt-md')">
      <md-toolbar class="md-theme-indigo" layout="row">
        <h1 class="md-toolbar-tools">Sidenav Left</h1>
        <span flex>
        <md-menu>
      <md-button aria-label="Open phone interactions menu" class="md-icon-button" ng-click="ctrl.openMenu($mdOpenMenu, $event)">
        <md-icon md-menu-origin class="material-icons">phone</md-icon>
      </md-button>
      <md-menu-content width="4">
        <md-menu-item>
          <md-button ng-click="ctrl.redial($event)">
            <md-icon md-svg-icon="call:dialpad" md-menu-align-target></md-icon>
            Redial
          </md-button>
        </md-menu-item>
        <md-menu-item>
          <md-button disabled="disabled" ng-click="ctrl.checkVoicemail()">
            <md-icon md-svg-icon="call:voicemail"></md-icon>
            Check voicemail
          </md-button>
        </md-menu-item>
        <md-menu-divider></md-menu-divider>
        <md-menu-item>
          <md-button ng-click="ctrl.toggleNotifications()">
            <md-icon md-svg-icon="social:notifications-{{ctrl.notificationsEnabled ? 'off' : 'on'}}"></md-icon>
            {{ctrl.notificationsEnabled ? 'Disable' : 'Enable' }} notifications
          </md-button>
        </md-menu-item>
      </md-menu-content>
    </md-menu> 
      </md-toolbar>
      <md-content class="md-padding" ng-controller="LeftCtrl">
        <md-button ng-click="close()" class="md-primary" hide-gt-md>
          Close Sidenav Left
        </md-button>
        <p hide-md show-gt-md>
          This sidenav is locked open on your device. To go back to the default behavior,
          narrow your display.
        </p>
        <p> 
        The "right" sideNav is open = {{isOpen()}} </p>
      </md-content>
    </md-sidenav>
    <md-content flex class="md-padding">
      <div layout="column" layout-fill layout-align="center center">
        <p>
        The left sidenav will 'lock open' on a medium (>=960px wide) device.
        </p>
        <div>
          <md-button ng-click="toggleLeft()" class="md-primary" hide-gt-md>
            Toggle left
          </md-button>
        </div>
        <div>
          <md-button ng-click="toggle()" class="md-primary" >
            Toggle right
          </md-button>
        </div>
      </div>
    </md-content>
    <md-sidenav class="md-sidenav-right md-whiteframe-z2" md-component-id="right">
      <md-toolbar class="md-theme-light">
        <h1 class="md-toolbar-tools">Sidenav Right</h1>
      </md-toolbar>
      <md-content ng-controller="RightCtrl" class="md-padding">
        <md-button ng-click="close()" class="md-primary">
          Close Sidenav Right
        </md-button>
      </md-content>
    </md-sidenav>
  </section>
</div>

最佳答案

您只需要使用md-is-locked-open。当您单击相应的按钮时,将其设置为 truefalse

检查以下链接。 http://codepen.io/next1/pen/aNZYJb

关于javascript - md-sidenav Angular Material 防止点击外部关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35936256/

相关文章:

javascript - Highmaps - 使用导出创建自定义按钮

javascript - AngularJS:如何在指令中使用 JS 脚本

javascript - 需要简单的 angularjs 编程帮助

javascript - 如何从 typescript 中的方法类中的函数访问类成员

javascript - 如何在JavaScript中实现异步函数之间的依赖?

javascript - HTML onUnclick 处理程序?

javascript - 如何评估 ng-Class 指令中的作用域对象?

javascript - Angular JS : retrieve json data based on id

javascript - 在 JavaScript 中使用 childNode 更改段落样式

jquery - 将井号添加到 jquery 范围 slider