質問: jquery初心者です。 フォームのバリデーションにjQuery-Validation-Engineという プラグインを使用しています。 エラーがあるときに吹き出しが出て、その吹き出しをクリックすると消えます。 これをクリックしても消えないようにする方法はないでしょうか? こちらを読んだのですがさっぱりわかりませんでした。。 よろしくお願いします。
回答: ソースコードを見る限り、エラープロンプトをクリック時に消えないようにする分岐は無いようです。 ``` /** * 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; }, ``` もしどうしてもクリック時にプロンプトを消えないようにしたいのであれば、ローカルのソースコードを修正するか、そのようなオプションを要望に出すしかないかと。 ローカルのソースコードを修正して、勝手オプション(e.g. `hideOnClick`)を足すとするとこんな感じでしょうか。 ``` $(document).on("click", ".formError", function() { if (!options.hideOnClick) return; $(this).fadeOut(150, function() { // remove prompt once invisible $(this).closest('.formError').remove(); }); }); ```