

フォームのバリデーションにjQuery-Validation-Engineというプラグインを使用しています。  
エラーがあるときに吹き出しが出て、その吹き出しをクリックすると消えます。  
これをクリックしても消えないようにする方法はないでしょうか？

こちらを読んだのですがさっぱりわかりませんでした。

<https://github.com/posabsolute/jQuery-Validation-Engine#options>

よろしくお願いします。


CC BY-SA 4.0
2018-01-12T09:05:28.460
40910
2022-06-06T00:16:31.907
2022-06-06T00:16:31.907
3060
26969
question
jquery
jQuery-Validation-Engine でエラー発生時の吹き出し表示をクリックしても消えないようにしたい


ソースコードを見る限り、エラープロンプトをクリック時に消えないようにする分岐は無いようです。

[code]

    /**
    * Kind of the constructor, called before any action
    * @param {Map} user options
    */
    init: function(options) {
        var form = this;
        if (!form.data('jqv') || form.data('jqv') == null ) {
            options = methods._saveOptions(form, options);
            // bind all formError elements to close on click
            $(document).on("click", ".formError", function() {
                $(this).fadeOut(150, function() {
                    // remove prompt once invisible
                    $(this).closest('.formError').remove();
                });
            });
        }
        return this;
    },
    
[/code]

<https://github.com/posabsolute/jQuery-Validation-
Engine/blob/master/js/jquery.validationEngine.js#L27>

もしどうしてもクリック時にプロンプトを消えないようにしたいのであれば、ローカルのソースコードを修正するか、そのようなオプションを要望に出すしかないかと。

ローカルのソースコードを修正して、勝手オプション(e.g. `hideOnClick`)を足すとするとこんな感じでしょうか。

[code]

            $(document).on("click", ".formError", function() {
                if (!options.hideOnClick) return;
    
                $(this).fadeOut(150, function() {
                    // remove prompt once invisible
                    $(this).closest('.formError').remove();
                });
            });
    
[/code]


CC BY-SA 3.0
2018-01-12T11:32:43.510
40914
2018-01-12T11:32:43.510
26808
40910
answer