2017-12-20 22 views
0

こんにちは私は角材料md-dialog manelを使用しています。md-dialogパネルをスクロールして閉じないでください。

$mdDialog.show({ 
      templateUrl: 'rt.tmpl.html', 
      parent: angular.element(document.body), 
      controller: 'SomeController', 
      controllerAs: 'vm', 
      targetEvent: event, 
      clickOutsideToClose: true, 
      multiple: true, 
      fullscreen: self.isCustomFullscreen  
     }) 

ご覧のとおり、私はclickOutsideToClose:trueを使用しています(私は持っている必要があります)。 しかし、私は同時にスクロールバーを持っています(写真参照)。問題は、私がスクロールをクリックするとパネルが閉じてしまうことです。 それを避ける方法は?事前に

enter image description here

感謝!!! :)))

+0

outsideToClose zonezとスクロールバー – Zooly

+0

を区別できるかどうかは不明です。 answer.thanksを書いた。 – Serhiy

答えて

0

これはCSS問題であることを基本的にはそうです。デフォルトでは、ダイアログの最大高さは90vh、最大幅は90vwです。したがって、コンテンツがダイアログの高さをオーバーフローした場合、スクロールバーはウィンドウ内ではなくダイアログ内に表示されます。

90vhするコンテンツMD-ダイアログマイナスMD-ダイアログツールバーとMD-ダイアログ・アクションの高さの高さを設定してみてください:

md-dialog-content { 
    max-height: calc(90vh - $mdDialogToolbarHeight - $mdDialogActionsHeight); 
} 
0

私はそれを

clickOutsideToClose: false, 
を修正しました

とMD-ダイアログの親にリスナーを適用:それは今フィン作品

var dialogContainerEl = document.getElementsByClassName("md-dialog-container")[0]; 

      dialogContainerEl.addEventListener("click", function (event) { 
       hidePanel(); 
      }); 

。みんなありがとう!

+1

奇妙な行動を避けるための素晴らしいトリック:) – Zooly

関連する問題