假设我有一个具有返回自身的成员函数的对象:
/* -- Object 1 -- */ function Object1(){ this.me = new Image(10,10); this.me.src = "someImgUrl.jpg"; this.publish = function(){ return this.me; } }
在生产中:
var Obj1 = new Object1(); document.body.appendChild( Obj1.publish() );
现在,假设我想创建一个事件,当对象的publish()方法被调用时,但在图像被返回之后(类似于“onPublished()”事件)就会触发.说,要将图像尺寸更改为100×100.我将如何创建它,我在哪里“附加”?
如果我不够清楚,请让我知道.这是我能想到的最简单的演示.
解决方法
一个简单的例子:
function Object1() { 'use strict'; this.me = new Image(10,10); this.me.src = "someImgUrl.jpg"; this.publish = function() { if (typeof this.onPublish === "function") { setTimeout(this.onPublish,1); } return this.me; }; } var Obj1 = new Object1(); Obj1.onPublish = function() { // do stuff }; Obj1.publish();