Options
All
  • Public
  • Public/Protected
  • All
Menu

Class NodeEventProcessor

节点事件类。

Hierarchy

  • NodeEventProcessor

Index

Constructors

constructor

Properties

Private _node

_node: BaseNode

bubblingTargets

bubblingTargets: EventTarget | null = null

节点冒泡事件监听器

capturingTargets

capturingTargets: EventTarget | null = null

节点捕获事件监听器

mouseListener

mouseListener: EventListener | null = null

鼠标监听器

touchListener

touchListener: EventListener | null = null

触摸监听器

Accessors

node

Methods

Private checknSetupSysEvent

  • checknSetupSysEvent(type: string): boolean

Private offDispatch

  • offDispatch(type: string, callback?: Function, target?: Object, useCapture?: Object): void

Private onDispatch

  • onDispatch(type: string, callback: Function, target?: Object, useCapture?: Object): undefined | Function

destroy

  • destroy(): void

dispatchEvent

  • dispatchEvent(event: Event): void

emit

  • emit(type: string, ...args: any[]): void
  • 通过事件名发送自定义事件

    example
    eventTarget.emit('fire', event);
    eventTarget.emit('fire', message, emitter);

    Parameters

    • type: string

      一个监听事件类型的字符串。

    • Rest ...args: any[]

    Returns void

getBubblingTargets

  • getBubblingTargets(type: string, targets: BaseNode[]): void
  • 获得所提供的事件类型在目标冒泡阶段监听的所有目标。 冒泡阶段目标节点到根节点的过程。 结果保存在数组参数中,并且必须从子节点排序到父节点。

    Parameters

    • type: string

      一个监听事件类型的字符串。

    • targets: BaseNode[]

    Returns void

getCapturingTargets

  • getCapturingTargets(type: string, targets: BaseNode[]): void
  • 获得所提供的事件类型在目标捕获阶段监听的所有目标。 捕获阶段包括从根节点到目标节点的过程。 结果保存在数组参数中,并且必须从子节点排序到父节点。

    Parameters

    • type: string

      一个监听事件类型的字符串。

    • targets: BaseNode[]

    Returns void

hasEventListener

  • hasEventListener(type: string): boolean

off

  • off(type: string, callback?: Function, target?: Object, useCapture?: Object): void
  • 删除之前与同类型,回调,目标或 useCapture 注册的回调。

    example
    this.node.off(cc.Node.EventType.TOUCH_START, this.memberFunction, this);
    node.off(cc.Node.EventType.TOUCH_START, callback, this.node);
    node.off(cc.Node.EventType.ANCHOR_CHANGED, callback, this);

    Parameters

    • type: string

      一个监听事件类型的字符串。参见:EventType

    • Optional callback: Function

      移除指定注册回调。如果没有给,则删除全部同事件类型的监听。

    • Optional target: Object

      调用回调的目标。配合 callback 一起使用。

    • Optional useCapture: Object

      当设置为 true,监听器将在捕获阶段触发,否则将在冒泡阶段触发。默认为 false。

    Returns void

on

  • on(type: string, callback: Function, target?: Object, useCapture?: Object): undefined | Function
  • 在节点上注册指定类型的回调函数,也可以设置 target 用于绑定响应函数的 this 对象。
    鼠标或触摸事件会被系统调用 dispatchEvent 方法触发,触发的过程包含三个阶段:

    1. 捕获阶段:派发事件给捕获目标(通过 getCapturingTargets 获取),比如,节点树中注册了捕获阶段的父节点,从根节点开始派发直到目标节点。
    2. 目标阶段:派发给目标节点的监听器。
    3. 冒泡阶段:派发事件给冒泡目标(通过 getBubblingTargets 获取),比如,节点树中注册了冒泡阶段的父节点,从目标节点开始派发直到根节点。
      同时您可以将事件派发到父节点或者通过调用 stopPropagation 拦截它。
      推荐使用这种方式来监听节点上的触摸或鼠标事件,请不要在节点上直接使用 cc.eventManager。
      你也可以注册自定义事件到节点上,并通过 emit 方法触发此类事件,对于这类事件,不会发生捕获冒泡阶段,只会直接派发给注册在该节点上的监听器。
      你可以通过在 emit 方法调用时在 type 之后传递额外的参数作为事件回调的参数列表。
    example
    this.node.on(cc.Node.EventType.TOUCH_START, this.memberFunction, this);  // if "this" is component and the "memberFunction" declared in CCClass.
    this.node.on(cc.Node.EventType.TOUCH_START, callback, this);
    this.node.on(cc.Node.EventType.ANCHOR_CHANGED, callback);

    Parameters

    • type: string

      一个监听事件类型的字符串。参见:EventType

    • callback: Function

      事件分派时将被调用的回调函数。如果该回调存在则不会重复添加。

    • Optional target: Object

      调用回调的目标。可以为空。

    • Optional useCapture: Object

      当设置为 true,监听器将在捕获阶段触发,否则将在冒泡阶段触发。默认为 false。

    Returns undefined | Function

    • 返回监听回调函数自身。

once

  • once(type: string, callback: Function, target?: Object, useCapture?: Object): void
  • 注册节点的特定事件类型回调,回调会在第一时间被触发后删除自身。

    example
    node.once(cc.Node.EventType.ANCHOR_CHANGED, callback);

    Parameters

    • type: string

      一个监听事件类型的字符串。参见:EventType

    • callback: Function

      事件分派时将被调用的回调函数。如果该回调存在则不会重复添加。

    • Optional target: Object

      调用回调的目标。可以为空。

    • Optional useCapture: Object

      当设置为 true,监听器将在捕获阶段触发,否则将在冒泡阶段触发。默认为 false。

    Returns void

reattach

  • reattach(): void

targetOff

  • targetOff(target: string | Object): void
  • 移除在特定事件类型中注册的所有回调或在某个目标中注册的所有回调。

    Parameters

    • target: string | Object

      要删除的事件键或要删除的目标。

    Returns void

Generated using TypeDoc