如果有一个类
function ReportItem() { this.htmlControl = null; //对应容器 this.basemouseDown = function (e) //单击事件 { } this.htmlControl = document.createElement("div"); addEvent(this.htmlControl,"mousedown",this.basemouseDown); } function SheetArea () { ReportItem.call(this); } inheritPrototype(SheetArea, ReportItem) //这里是单击事件的实现 SheetArea.prototype.onmouseDown = function () { alert("down!"); }
由于基类里已经对htmlControl上绑定了
basemouseDown,我想当单击的时候,可以通过基类的事件转到 子类的onmousedown方法
不明白这个“可以通过基类的事件 转到 子类的onmousedown方法” 的意思
也就是基类的html控件的onmousedown事件已经绑定到了基类的
basemouseDown方法,现在 子类里要重写这个方法,添加上实际内容
@MinKong:
SheetArea.prototype.mouseDown = function () {
alert("down!");
}
这样不行吗
@Yu: 我试了一下
function ReportItem() { this.htmlControl = null; //对应容器 这个函数的声明要去掉 //this.basemouseDown = function (e) //单击事件 //{ // //} this.htmlControl = document.createElement("div"); //这里绑定的函数名出现在 子类里才行 addEvent(this.htmlControl,"mousedown",this.basemouseDown); }
function ReportItem() { this.htmlControl = null; this.basemouseDown = function (e) { alert("base down"); } this.htmlControl = $("input"); $(this.htmlControl).bind("mousedown",this.basemouseDown) } function SheetArea () { ReportItem.call(this); } SheetArea.prototype.mousedown= function () { alert("down!"); } var d=new SheetArea(); d.mousedown();
FYI