AngularJS Web アプリでポップアップを表示するために ngDialog を使用しています。Chrome で約 20% の確率でしか発生しない、特殊な問題が発生しています。Firefox と IE にはこの問題はありません。
ダイアログが開いているとき、ngDialog は次のようclass="ngdialog-open"
にbody
タグに追加します<body class="ngdialog-open">
。ダイアログを閉じると、 にbody
戻ります<body class>
。問題が発生しないためには、これらが期待どおりに存在する必要があります。
ただし、Chrome では、この変更は約 80% の確率でしか発生しません。残りの 20% の時間では、ダイアログが閉じられても、body
タグはクラスを持ち続けます。dialog-open
またはその逆 - ダイアログを開きましたがbody
、新しいクラスが取得されません。これが発生すると、ページをクリックして操作する必要があります。たとえば、テキスト入力をクリックしたい場合、それを操作するにはダブルクリックする必要があります。ただし、最初のクリックを行うとbody class
、期待値が変更され、期待どおりにページを操作できます。