我是一名 ActionScript 开发人员。在开发组件时,有一种方法可以监听父级的单击事件并引用该组件内的函数。
如果我在主应用程序中添加 100 个组件,并且单击父应用程序,那么这 100 个组件将调用它自己的函数。
Component.as
parentApplication.addEventListener('click', ClickHandler);
function ClickHandler(event:event)
{
....
}
使用 javascript 实现同样的效果的方法是什么?
谢谢。
最佳答案
您可以使用 jQuery,它提供类似(但不相同)的事件处理。在你的情况下,就像
$(childComponent).click(function(eventObject){
childComponent = $(this);
...
});
或
$(childComponent).bind("click", function(eventObject){
childComponent = $(this);
...
});
请注意,bind 与 Flex 中的 databind 有很大不同,它非常类似于 addEventListener。这里棘手的是对象范围。在 JavaScript(如 ActionScript 2 或更早版本)中,任何时候处理事件时,this 都指引发事件的对象,而不是监听事件的父对象,这可能非常违反直觉。
关于JavaScript 事件模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632719/