作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题不仅与 MouseEvent.CLICK 事件类型有关,而且与 AS3 中已经存在的所有事件类型有关。我阅读了很多关于自定义事件的内容,但直到现在我都不知道如何做我想做的事情。我来解释一下,希望你明白:
这是我的情况的说明:
for(var i:Number; i < 10; i++){
var someVar = i;
myClips[i].addEventListener(MouseEvent.CLICK, doSomething);
}
function doSomething(e:MouseEvent){ /* */ }
for(var i:Number; i < 10; i++){
var someVar = i;
myClips[i].addEventListener(MouseEvent.CLICK, function(){
doSomething(someVar);
});
}
function doSomething(index){ trace(index); }
最佳答案
您确实需要扩展事件类以使用额外参数创建自己的事件。将函数放在 addEventListener(匿名函数)中会导致内存泄漏,这并不好。
看看下面的内容。
import flash.events.Event;
//custom event class to enable the passing of strings along with the actual event
public class TestEvent extends Event
{
public static const TYPE1 :String = "type1";
public static const TYPE2 :String = "type2";
public static const TYPE3 :String = "type3";
public var parameterText:String;
public function TestEvent (type:String, searchText:String)
{
this.parameterText = searchText;
super(type);
}
}
dispatchEvent(new TestEvent(TestEvent.TYPE1, 'thisIsTheParameterText'))" ;
someComponent.addEventListener(TestEvent.TYPE1, listenerFunction, true , 0, true);
关于apache-flex - 如何在 AS3 中创建自定义 MouseEvent.CLICK 事件(将参数传递给函数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/426540/
我是一名优秀的程序员,十分优秀!