EaselJS用事件传递参数
EaselJS passing parameters with events
我正在使用Adobe Flash CC创建EaselJS输出来操作HTML5画布。但是,在将参数传递给事件侦听器的能力方面似乎存在大量疏忽。
问题是我提供了多个动画输出以实现兼容性,一个使用 EaselJS,一个使用 Raphael,但是控制这些的界面保持不变,这些是普通的 HTML 元素,数据存储在我希望通过触发事件和传递参数来调用在 Flash IDE 中编写的函数的属性中。
我可以轻松找到避免使用EventDispatcher
的方法,例如将它们注册到根对象并使用自定义处理程序直接调用它们。但是,我宁愿使Flash IDE输出尽可能普遍兼容,并且不会污染我几乎无法控制的对象的命名空间。我认为在Flash IDE中编写代码是一种糟糕的设计模式,如果没有外部帮助,它将无法工作。
有没有办法将参数从 EaselJS 事件调度器传递到侦听事件?我知道on()
提供了一个数据参数,但这毫无用处,因为我需要根据用户交互将不同的参数传递给同一事件。
可以将任何属性放在所需的 Event 对象上。当你调度一个事件时,你可以使用一个像"complete"这样的字符串(如果你不需要参数,这更好,因为如果没有侦听器,它不会生成对象)。如果您有参数,请创建一个新createjs.Event
,并在其上放置所需的任何属性:
var event = new createjs.Event("complete");
event.time = new Date();
this.dispatchEvent(event);
然后,可以在处理程序中检查事件对象。
myObject.addEventListener("complete", handler); // add a listener
function handler(event) {
console.log(event.time);
}
希望对您有所帮助!
相关文章:
- 检查事件处理程序参数
- 带有参数的Javascript事件处理程序
- 如何使用OnClick事件通过参数调用来调用PHP函数
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- 使用JavaScript将onclick事件与参数绑定
- Firefox中的JavaScript事件参数
- 将作用域绑定到事件处理程序,但保留原始参数
- 在onchange事件中,可以传递不是当前控件的参数吗
- 如何将自定义参数传递到FullCalendar事件提要
- 将参数传递给函数,同时保留事件处理程序
- 存在其他参数时访问Javascript事件
- 如何使参数在事件函数中工作
- 在动态创建的元素中包含参数的事件处理程序
- JS:删除带有接受参数的处理程序的事件侦听器
- 将参数传递给 jQuery .click WHILE 保留事件参数
- 在 JavaScript 中附加参数化事件
- 传入 javascript 单击事件的参数
- 将参数传递给Rails中的onchange事件
- 无法使用addEventListener Last参数(事件捕获)
- AngularJS指令中的事件处理程序不触发/参数事件名称