object:dispatchEvent()

类型 函数
对象 EventDispatcher
返回值
修订版本 版本 2024.3703
关键词 dispatchEvent, 分派事件, 自定义事件
另请参阅 object:addEventListener()
object:removeEventListener()

概述

将指定的 event 分派给对象。event 参数必须是一个包含 name 属性的表,该属性是一个标识事件类型的字符串。此方法可用于任何 DisplayObject 或全局 Runtime 对象,前提是它已注册了接收名称事件的监听器。建议您还在事件中包含一个 target 属性,以便监听器知道哪个对象接收了事件。

在 Corona 中,您可以使用 DisplayObjects 或全局 Runtime 对象注册自定义事件。在这两种情况下,您都必须使用此对象方法手动分派事件。

语法

object:dispatchEvent( event )
event (必需)

包含事件属性。该表必须包含一个与您要分派的事件对应的 name 属性。

示例

-- Create an object that listens to events
local image = display.newImage( "image.png" )
 
-- Setup listener
local myListener = function( event )
        print( "Event " .. event.name )
        print( "Target has width: " .. event.target.contentWidth )
end
 
image:addEventListener( "myEventType", myListener )
 
-- Sometime later, create an event and dispatch it
local event = { name="myEventType", target=image }
image:dispatchEvent( event )