【easeljs】事件汇总

文章说明:为了方便我自己查找easeljs的所有事件,所以我从easeljs的文档里抄过来加上自己的翻译,会慢慢补全,漏了的,错了的,评论一下我会补上去哦。(不确定翻译对不对的地方我会留着原文。)

  1. 继承自,表示所有继承自那个对象的对象都有这个事件。
  2. 定义于,表示只有这个对象才有这个事件。
  3. 加入版本,表示从这个版本起才加入这个事件,老版本没有这个事件。
  4. “此对象”表示被添加了这个事件的对象
  5. 与jquery和js一致,事件的回调函数第一个参数会带上事件对象,在easeljs文档event类中可以看到各个事件属性的说明。
  6. stage的事件全加进来了

easeljs事件默认是不支持touch设备的,需要这样才可以 var stage = new createjs.Stage("canvasId"); createjs.Touch.enable(stage);

添加事件的方法

on ( type listener [scope] [once=false] [data] [useCapture=false] ) Function

继承自 EventDispatcher A shortcut method for using addEventListener that makes it easier to specify an execution scope, have a listener only run once, associate arbitrary data with the listener, and remove the listener. This method works by creating an anonymous wrapper function and subscribing it with addEventListener. The wrapper function is returned for use with removeEventListener (or off). IMPORTANT: To remove a listener added with on, you must pass in the returned wrapper function as the listener, or use remove. Likewise, each time you call on a NEW wrapper function is subscribed, so multiple calls to on with the same params will create multiple listeners. Example

var listener = myBtn.on("click", handleClick, null, false, {count:3});
function handleClick(evt, data) {
    data.count -= 1;
    console.log(this == myBtn); // true - scope defaults to the dispatcher
    if (data.count == 0) {
        alert("clicked 3 times!");
        myBtn.off("click", listener);
        // alternately: evt.remove();
    }
}

Parameters:

type String The string type of the event. listener Function | Object An object with a handleEvent method, or a function that will be called when the event is dispatched. [scope] Object optional The scope to execute the listener in. Defaults to the dispatcher/currentTarget for function listeners, and to the listener itself for object listeners (ie. using handleEvent). [once=false] Boolean optional If true, the listener will remove itself after the first time it is triggered. [data] optional Arbitrary data that will be included as the second parameter when the listener is called. [useCapture=false] Boolean optional For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase. Returns:

Function: Returns the anonymous function that was created and assigned as the listener. This is needed to remove the listener later using .removeEventListener.

added

继承自 DisplayObject 当此对象被add到其它容器对象时触发

click

继承自 DisplayObject 加入版本 0.6.0 在用户按下左键并在此对象上松开左键后触发。

dblclick

继承自 DisplayObject 加入版本 0.6.0 当用户在此对象上双击左键后触发。

drawend

定义于 stage 加入版本 0.7.0 每次显示列表被绘制到canvas后并且restore过canvas context后触发。 Dispatched each update immediately after the display list is drawn to the canvas and the canvas context is restored.

drawstart

定义于 stage 加入版本 0.7.0 在清除画布和绘制显示列表之前触发。可以在调用event对象上使用preventDefault取消这次绘制。 Dispatched each update immediately before the canvas is cleared and the display list is drawn to it. You can call preventDefault on the event object to cancel the draw.

mousedown

继承自 DisplayObject 加入版本 0.6.0 用户在此对象上按下左键后触发。

mouseenter

定义于 stage 加入版本 0.7.0 当鼠标指针从canvas区域外(mouseInBounds == true)移进canvas区域(mouseInBounds == false)后触发。这是目前唯一非点击的鼠标输入事件。

mouseleave

定义于 stage 加入版本 0.7.0 当鼠标从canvas区域内(mouseInBounds == true)移出(mouseInBounds == false)后触发。这是目前唯一非点击的鼠标输入事件。(我也不知道为何这里的mouseInBounds和上面的相反,看原文吧)

mouseout

继承自 DisplayObject 加入版本 0.6.0 当用户鼠标从该对象的任意一个子项离开后触发。这个事件一定要启用enableMouseOver。另请参阅rollout。(写好rollout后如果我还记得这里,会把这个链接弄好)

mouseover

继承自 DisplayObject 加入版本 0.6.0 当用户鼠标进入该对象的任意一个子项后触发。这个事件一定要启用enableMouseOver。另请参阅rollout。(写好rollout后如果我还记得这里,会把这个链接弄好)

pressmove

继承自 DisplayObject 加入版本 0.7.0 在此对象上发生了mousedown事件后,无论鼠标是否移动,pressmove事件都会持续发生在此对象上,直到松开鼠标按钮。这事件在拖拽和类似的需求里很有用。 (如果stage上加了这个事件侦听,当stage上什么元素都没有时,这个是无效的,需要用stagemousemove

pressup

继承自 DisplayObject 加入版本 0.7.0 在此对象上发生了mousedown事件后,松开鼠标会触发。这事件在拖拽和类似的需求里很有用。

removed

继承自 DisplayObject 当此对象从它的父对象上移除后会触发。

rollout

继承自 DisplayObject 加入版本 0.7.0 这个事件和mouseout很像,但有这些不同:它不冒泡,而且它把该对象的内容认为是一个整体。 例如,myContainer包含着两个有重叠部分的子项:shapeAshapeB。用户移动他的鼠标到shapeA上,然后直接移到shapeB上,然后离开他们俩。如果myContainerMouseout:event,会收到两个事件,每个事件指向一个子元素:

  • 当鼠标离开shapeAtarget=shapeA
  • 当鼠标离开shapeBtarget=shapeB

然而当事件换成rollout,只会在离开myContainer时才会触发事件(不仅仅是离开shapeB),target=myContainer。这个事件一定要启用enableMouseOver。 (jquery也有这样的,但是我忘记jquery中哪个是只离开父对象才触发了。)

rollover

继承自 DisplayObject 加入版本 0.7.0 这个事件和mouseover很像,不同之处跟rolloutmouseout的不同之处是一样的。这个事件一定要启用enableMouseOver

stagemousedown

定义于 stage 加入版本 0.6.0 用户在canvas上按下左键后触发。

stagemousemove

定义于 stage 加入版本 0.6.0 当用户在canvas上移动鼠标时持续触发。

stagemouseup

定义于 stage 加入版本 0.6.0 当用户在stage的某处按下左键,然后在页面中能接收事件的任意一处(不同浏览器有些不同)松开左键。可以使用mouseInBounds检查鼠标是否在stage范围内。

tick

继承自 DisplayObject: tick:642 加入版本 0.6.0 Dispatched on each display object on a stage whenever the stage updates. This occurs immediately before the rendering (draw) pass. When update is called, first all display objects on the stage dispatch the tick event, then all of the display objects are drawn to stage. Children will have their Tick:event event dispatched in order of their depth prior to the event being dispatched on their parent. Event Payload:

  • target Object The object that dispatched the event.
  • type String The event type.
  • params Array An array containing any arguments that were passed to the Stage.update() method. For example if you called stage.update("hello"), then the params would be ["hello"].
  • paused Boolean 指出ticker当前是否暂停
  • delta Number 从上次触发事件以来,经过了多少毫秒。
  • time Number Ticker实例化之后经过了多少毫秒
  • runTime Number Ticker实例化之后未被暂停的状态下经过了多少毫秒。例如,你可以决定用time-runTime初始化后被暂停的总时间(The total time in ms that Ticker was not paused since it was initialized. For example, you could determine the amount of time that the Ticker has been paused since initialization with time-runTime.)

tickend

Defined in tickend:294 Available since 0.7.0 Dispatched each update immediately after the tick event is propagated through the display list. Does not fire if tickOnUpdate is false. Precedes the "drawstart" event.

tickstart

Defined in tickstart:287 Available since 0.7.0 Dispatched each update immediately before the tick event is propagated through the display list. You can call preventDefault on the event object to cancel propagating the tick event.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始学自动化测试

Selenium+python自动化82-只截某个元素的图

前言 selenium截取全图小伙伴们都知道,曾经去面试的时候,面试官问:如何截图某个元素的图?不要全部的,只要某个元素。。。小编一下子傻眼了, 苦心人,天不负...

51440
来自专栏coding for love

JS常用设计模式解析01-单例模式

考虑实现如下功能,点击一个按钮后出现一个遮罩层。 原始办法:我们只需要实现一个创建遮罩层的函数并将其作为按钮点击的回调事件即可。如下:

14720
来自专栏小程序之家

如何在小程序中使用地图

这篇文章中,我们将介绍小程序地图组件的使用,官方文档已经比较详细的介绍了map组件的使用,但是对于刚开始接触地图组件的同学,难免有些难以下手。本文将以Hello...

1.6K40
来自专栏Web 开发

来聊聊 DOM 中的Node、Element、Text

1所表示的ELEMENT_NODE 很常见,我们平时用的 div 等标签,其类型都是 ELEMENT_NODE。

9600
来自专栏静晴轩

你所不知道的setTimeout

JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成。它们向任务队列...

491120
来自专栏Alan's Lab

如何编写一个 jQuery 插件

https://github.com/zcfan/sket... 重写了本文的初步功能实现,支持一个页面多个画图板。但为简单起见,本文保持不变。

14540
来自专栏python3

tkinter -- OptionMenu

OptionMenu 的创建需要两个必要的参数,与当前值绑定的变量,通常为一 StringVar 类型;另一个是提供可选的内容列表,由 OptionMenu 的...

11630
来自专栏梦魇小栈

面试分享:2018阿里巴巴前端面试总结(题目+答案)

最开始的思路是用定时器实现,最后没有想的太完整,面试官给出的答案是用requestAnimationFrame。

15030
来自专栏木制robot技术杂谈

常用命令行快捷键

17450
来自专栏DeveWork

WordPress 中部署真正的懒加载(Lazy Load)

不少WordPress 主题(包括DeveWork.com目前的主题)都有部署jquery 插件“懒加载”(Lazy Load),但其实很多都不能产生真正的懒加...

23170

扫码关注云+社区

领取腾讯云代金券