扩展课程,例如元素,在Prototype.js中,我这样做(如果这改变了,请更新我)
var myFunctions = {
custom: function(element)
{
# yadda yadda
return element;
}
};
Element.addMethods(myFunctions);
现在原型有一些命名空间,比如Form。我想扩展Form.Element,因为我需要一些自定义函数来处理表单输入。
尝试
Form.Element.addMethods(myFunctions);
抛出
Error: Form.Element.addMethods is not a function
我该怎么做呢?
答案 0 :(得分:2)
addMethods()
是Class
的一种方法。 Element
是一个班级。 Form
和Form.Element
是对象。尝试使用Object.extend()
:
Object.extend(Form.Element, myFunctions);
或者更简单,因为每个对象都是一个唯一的实例,您可以直接处理它。虽然添加多个函数时Object.extend
看起来更整洁。
Form.Element.custom = function(element)
{
# yadda yadda
return element;
}