55908


Javascriptで作られたモーダルダイアログのライブラリがあり(すみません、ライブラリの名称等の情報がありません)、ダイアログの外側をクリックすると、ダイアログが閉じるような作りになっています。

現在、モーダルダイアログ内に登録フォームを作成したのですが、  
入力中に誤って外側を触れてしまうとダイアログが閉じるイベントが発生してしまうので、  
この動きを制御しようと、イベントをキャッチして処理しようとしたのですが、  
キャッチできるときには処理が走った後となり、上手く制御できませんでした。

かなり漠然とした内容で申し訳ないのですが、この動作を制御する方法について知恵をお貸しいただけないでしょうか。

* * *

追記

コメントありがとうございます。  
以下が該当箇所のソースです。  
close()がモーダルを閉じる関数だと思います。  
サイト全体でこのライブラリを使っているのですが、  
対象のページ限定で閉じる処理をしないようにしたいです。

[code]

     /**
      * Default settings
      * @private
      * @const
      * @type {Object}
      */
     var DEFAULTS = $.extend({
      hashTracking: false,
      closeOnConfirm: true,
      closeOnCancel: true,
      closeOnEscape: true,
      closeOnOutsideClick: true,
      modifier: ''
     }, global.REMODAL_GLOBALS && global.REMODAL_GLOBALS.DEFAULTS);
    
    // 中略
    
    // Add the event listener for the overlay
      modal.$wrapper.on('click.' + NAMESPACE, function (e) {
       var $target = $(e.target);
    
       if (!$target.hasClass(namespacify('wrapper'))) {
        return;
       }
    
       if (modal.settings.closeOnOutsideClick) {
        modal.close();
       }
    
    
[/code]


CC BY-SA 4.0
2019-06-18T09:42:47.553
55898
2019-06-19T01:53:13.700
2019-06-19T01:43:22.183
34779
34779
question
javascript jquery
モーダルダイアログの外側をクリックした際に、ダイアログを閉じるイベントが走らないようにしたい


jqueryプラグインの[Remodal](http://vodkabears.github.io/remodal/)のようですね。

登録フォームに

[code]

    <div class="remodal" ...>
    
[/code]

のような要素があるはずなので、それを

[code]

    <div class="remodal" data-remodal-options="closeOnOutsideClick: false" ...>
    
[/code]

にします。


CC BY-SA 4.0
2019-06-19T01:53:13.700
55908
2019-06-19T01:53:13.700
3475
55898
answer