var LiveValidation = function(element, optionsObj){
this.initialize(element, optionsObj);
}
这句,定义了一个函数。但是里面的那个initialize;从哪里来的。而且怎么还传参数呢?
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
} 这个还能凑活看懂。this.initialize.apply(this, arguments);这里有apply函数。而上面那个没有。。请大侠解释一下。
谢谢。。
this.initialize(element, optionsObj);
}
这句,定义了一个函数。但是里面的那个initialize;从哪里来的。而且怎么还传参数呢?
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
} 这个还能凑活看懂。this.initialize.apply(this, arguments);这里有apply函数。而上面那个没有。。请大侠解释一下。
谢谢。。
解决方案 »
- JS通过数据库,操作页面中的table,高人指点下,如果有详细代码,分可追加
- 表单原来输入的内容被清空 如何保留
- pic.onclick加个事件.要有参数.怎么做啊?
- 一个框架页,想用JS取得内子页的URL和标题,怎么做
- 替换字符的问题?
- jqueryeasyUI加载异步树报错$.data(...).options为空或不是对象
- 急,大家帮帮我.关于数组的script
- 有谁有DHTML Edit Control for IE5的帮助文件
- 超难问题:用脚本触发select元素的点击事件?
- 取一定長度的字符串(不是個數)
- javascript activeXObject 调用系统声音命令(高手过招)
- 类似360的设置自动保存是如何实现的,写在哪个事件里比较好
this.initialize(element, optionsObj);
}
同样是js初学者:我的理解是这定义了一个类(伪类,js没有真正意义的类)
你的代码不完整后面某个地方肯定
initialize 这是这个类的公共初始化方法
LiveValidation.prototype.initialize=function(e,opts){
// TODO
}下面这个要等高手解答了
invalidClass: 'LV_invalid',
messageClass: 'LV_validation_message',
validFieldClass: 'LV_valid_field',
invalidFieldClass: 'LV_invalid_field', /**
* initialises all of the properties and events
*
* @var - Same as constructor above
*/
initialize: function(element, optionsObj){
var self = this;
if(!element) throw new Error("LiveValidation::initialize - No element reference or element id has been provided!");
this.element = element.nodeName ? element : document.getElementById(element);
if(!this.element) throw new Error("LiveValidation::initialize - No element with reference or id of '" + element + "' exists!");
// default properties that could not be initialised above
this.validations = [];
this.elementType = this.getElementType();
this.form = this.element.form;
// options
var options = optionsObj || {};
this.validMessage = options.validMessage || 'Thankyou!';
var node = options.insertAfterWhatNode || this.element;
this.insertAfterWhatNode = node.nodeType ? node : document.getElementById(node);
this.onValid = options.onValid || function(){ this.insertMessage(this.createMessageSpan()); this.addFieldClass(); };
this.onInvalid = options.onInvalid || function(){ this.insertMessage(this.createMessageSpan()); this.addFieldClass(); };
this.onlyOnBlur = options.onlyOnBlur || false;
this.wait = options.wait || 0;
this.onlyOnSubmit = options.onlyOnSubmit || false;
// add to form if it has been provided
if(this.form){
this.formObj = LiveValidationForm.getInstance(this.form);
this.formObj.addField(this);
}
……
感谢各位提醒。
确实是在prototype中有实现下次还是看仔细点呵呵