стандарты для расширения Element.Methods

Prototype.js объявляет множество удобных методов для DOM-объектов, но разработчикам всегда хочется большего. Добавить объекту новый метод очень просто, но при этом рекомендуется соблюдать несколько правил.

  1. ссылка на элемент или его id должна быть первым параметром метода, обычно его называют element
  2. первой строкой метода становится element = $(element);, чтобы быть уверенным, что дальше идет работа именно с объектом
  3. последней строкой метода становится return element;, благодаря этому можно использовать method chaining типа element.update().hide();
  4. после добавления всех желаемых методов в Element.Methods нужно вызвать Element.addMethods();

Почему нужно выполнять первый пункт? Без этого вы не сможете вызывать эту функцию как метод объекта. Дело в том, что prototype создает у всех DOM-объектов методы, имена которых совпадают с аналогами из Element.Methods, но при этом первым параметром в них передается сам DOM-объект. Поэтому, если ваша функция ожидает первым параметром что-то другое, её нельзя будет вызывать с использованием синтаксиса element.method().

Артемий Трегубенко,
, ,

comments powered by Disqus