2010-05-04 20 views

回答

14

不,他们不会,所以更新只会在事件触发时调用一次。

+0

太棒了!我有一个函数添加了需要多次调用的事件侦听器。我担心这会造成一些不良的副作用。 – user359519 2011-08-23 13:30:24

+1

这是否适用于匿名函数? – ThorSummoner 2014-05-08 17:39:51

+4

@ThorSummoner如果你多次定义了一个匿名函数(例如在循环中),每次都定义一个新函数。所以它不适用于匿名函数,除非你创建一次函数,将它保存在一个变量中,并将变量传递给你的'addEventListener'调用。无论如何,这是最好的做法。 – tomekwi 2015-01-09 11:49:43

3

取决于您将附加听众的内容。如果你附加到movieClipX和movieClipY,你将有两个侦听器,所以如果其中一个mcs被删除,你仍然会有另一个侦听器。如果您将同一个侦听器连接到同一个对象两次,它将表现为单个侦听器。

1

此外,为了完成对已经提供的答案,如果你这样做:

addEventListener(Event.ENTER_FRAME, update1); 
addEventListener(Event.ENTER_FRAME, update2); 

然后,它会执行两个功能。后面的addEventLister不会覆盖前一个,而是添加到现有的侦听器中,因为方法的名称意味着(除非已经添加了侦听器函数,在这种情况下,它将不会执行任何操作,如已接受的答案中所述) 。