diff --git a/app/webpacker/controllers/popout_controller.js b/app/webpacker/controllers/popout_controller.js index c3d66d744f..c62d7934dd 100644 --- a/app/webpacker/controllers/popout_controller.js +++ b/app/webpacker/controllers/popout_controller.js @@ -73,7 +73,9 @@ export default class PopoutController extends Controller { } closeIfOutside(e) { - if (!this.dialogTarget.contains(e.target)) { + // Note that we need to ignore the clicked button. Even though the listener was only just + // registered, it still fires sometimes for some unkown reason. + if (!this.dialogTarget.contains(e.target) && !this.buttonTarget.contains(e.target)) { this.close(); } }