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