0

我制作了一个画布,可以将许多小图像拼接成一个大图像。

我写它来监听一个事件,它是一个加载的单个图像对象,然后将其绘制到画布中,加载下一张将再次触发事件的图像后,它将按用户指定的数字停止此递归。

所以在达到用户指定的数字后,我想停止监听我的图像对象的“加载”事件,如何让我的图像对象(即“img”)停止监听“加载”事件?

// 这里调试

网页:https ://dl.dropbox.com/u/2321732/stitch_images/index.html

Javascript:https ://dl.dropbox.com/u/2321732/stitch_images/script/main.js

//为了方便编辑

JSBin:http: //jsbin.com/acakif/1/

注意:我怎么知道活动仍在进行

1.转到网页检查器,javascript控制台

2. img.src = "https://dl.dropbox.com/u/2321732/stitch_images/images/0_3.jpg"

3.它不应该记录“东西已经加载”

4

1 回答 1

5

在您的代码中,我看到:

img.addEventListener("load", drawStitch, true);

但是,您像这样删除侦听器:

img.removeEventListener("load", drawStitch);

简单地说,如果你想删除一个监听器,你必须将你传递给的所有参数传递addEventListenerremoveEventListener

所以在你的例子中是这样的:

img.removeEventListener("load", drawStitch, true);

我已经在 Firefox/Firebug 中对其进行了测试,并且 step.2 不再触发该事件:)

于 2013-01-02T19:18:35.657 回答