как конвертировать функции в плагин JQuery - PullRequest
0 голосов
/ 06 июля 2018

Я хочу научиться писать плагин Jquery. Это моя обычная функция и преобразовать ее в плагин jquery. Не могли бы вы мне подсказать, как это сделать.

Чтобы я мог легко понять, как преобразовать функцию в плагин.

function probe_Validity(element) {
  var validate = true;
  $(".required-label").remove();

  var warnings = {
    text: "Please enter Name"
  };

  element.find(".required").each(function() {
    var form_Data = $(this);

    if (form_Data.prop("type").toLowerCase() === 'text' && form_Data.val() === '') {
      form_Data.after('<div class="required-label">' + warnings.text + '</div>').addClass('required-active');
      validate = false;
    }
    if (validate) {
      return true;
    } else {
      return false;
    }

    $(function() {
      $(".required").on("focus click", function() {
        $(this).removeClass('required-active');
        $(this).next().remove();
      });
    });
  });
}

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Это довольно легко сделать, просто используйте

jQuery.fn.theNameOfYourFunction = function() {}

тогда вы можете получить элемент, для которого вызывается функция, вот так:

var element = $(this[0])

так что с вашей функцией это будет:

jQuery.fn.probe_Validity = function() {

        var element = $(this[0]);
        var validate = true;
        $(".required-label").remove();

        var warnings = {
            text: "Please enter Name"
        };

        element.find(".required").each(function() {

            var form_Data = $(this);

            if (form_Data.prop("type").toLowerCase() === 'text' && form_Data.val() === '') {
                form_Data.after('<div class="required-label">' + warnings.text + '</div>').addClass('required-active');
                validate = false;
            }
            if (validate) {
                return true;
            } else {
                return false;
            }

            $(function() {
                $(".required").on("focus click", function() {
                    $(this).removeClass('required-active');
                    $(this).next().remove();
                });
            });
        });
    };

это можно назвать так:

$('#id').probe_Validity ()
0 голосов
/ 06 июля 2018

Взгляните на этот проект Шаблон jQuery-плагина Рассмотрите это как определение базового плагина, найдите его, выполните шаги и настройте их в соответствии с вашими потребностями.

...