• 全部
  • 问答

Prototype.js的问题。

yuanetking 2007-02-08 09:30:13
我想利用Prototype.js的面向对象API编写自己的面向对象代码如下:
但是报错。:请大师解答。
this.initialize has no properties
[Break on this error] this.initialize.apply(this, arguments);
代码如下:
var Widget = new Object();
Widget.CodeInput = Class.create(); //这步里出错的。
Widget.CodeInput.prototype = {
initialize: function(element) {
alert(element);
},
getHint: function() {
//var va = this.element.getElementByClassName('hint')[0].value;
//alert(va);
}
}
...全文
265 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Karl_He 2007-02-14
你代码中的
var Widget = new Object();
改为
var Widget = {};
回复
zhongmao 2007-02-14
正如楼上所说,代码没有错。

你是如何创建对象的呢?
如果是创建Widget.CodeInput的实例就不会出错,
但如果是创建new Widget()在IE6中会报错
回复
Karl_He 2007-02-12
帮你测了一下,你的代码是正确的。
看看你的Prototype.js是不是不完整或者版本不新
去下个1.5版的Prototype.js试一下呢!
http://prototypejs.org/assets/2007/1/18/prototype.js

var Widget = {};
Widget.CodeInput = Class.create(); //这步里出错的。
Widget.CodeInput.prototype =
{
initialize: function(element)
{
alert(element);
},
getHint: function()
{
//var va = this.element.getElementByClassName('hint')[0].value;
//alert(va);
}
}

function testWidget()
{
var CodeInput = new Widget.CodeInput("测试一下");
}
回复
var Widget = {};
Widget.CodeInput = Class.create(); //这步里出错的。
Widget.CodeInput.prototype = {
initialize: function(element) {
alert(element);
},
getHint: function() {
//var va = this.element.getElementByClassName('hint')[0].value;
//alert(va);
}
}
回复
yuanetking 2007-02-10
渴望高手来帮我分析分析。
回复
发帖
JavaScript
创建于2007-09-28

8.4w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2007-02-08 09:30
社区公告
暂无公告