事件 最后更新时间: 2021年01月22日
事件有两种使用方式
第一种,针对Map、覆盖物等常用类,我们推荐直接使用这些类的对象的on、off成员方法来实现事件的简单绑定和移除,具有使用方便、代码简洁的特点
方法 | 返回值 | 说明 |
---|---|---|
on(
eventName,
handler,
context) |
| 注册事件,给Map或者覆盖物对象注册事件 eventName:事件名称(必填), handler:事件回调函数(必填), context:事件回调中的上下文(可选,缺省时,handler中this为调用on方法的对象本身,否则this指向context引用的对象) 注意:多次绑定时,当eventName、handler函数对象、context对象有任意一个不一样就会再次绑定。 |
off(
eventName,
handler,
context) |
| 移除事件绑定 eventName:事件名称(必填), handler:事件功能函数(必填), context:事件上下文(可选,缺省时为调用off方法的对象本身,否则为context引用的对象) 注意:只有当off与on的eventName、handler函数对象、context对象完全一致时才能有效移除监听。 |
第二种,使用AMap.event命名空间
方法 | 返回值 | 说明 |
---|---|---|
addDomListener(
instance,
eventName,
handler,
context) |
EventListener | 注册DOM对象事件:给DOM对象注册事件,并返回eventListener。运行AMap.event.removeListener(eventListener)可以删除该事件的监听器。 参数: instance:需注册事件的DOM对象(必填), eventName:事件名称(必填), handler:事件功能函数(必填), context:事件上下文(可选,缺省时,handler中this指向参数instance引用的对象,否则this指向context引用的对象) |
addListener(
instance,
eventName,
handler,
context) |
EventListener | 注册对象事件:给对象注册事件,并返回eventListener。运行AMap.event.removeListener(eventListener)可以删除该事件的监听器。 参数: instance:需注册事件的对象(必填), eventName:事件名称(必填), handler:事件功能函数(必填), context:事件上下文(可选,缺省时,handler中this指向参数instance引用的对象,否则this指向context引用的对象) |
addListenerOnce(
instance,
eventName,
handler,
context) |
EventListener | 类似于addListener,但事件只会被触发一次,之后将自动移除。 |
removeListener(
listener) |
none | 删除由上述 event.addDomListener 和 event.addListener 传回的指定侦听器。 |
trigger(
instance,
eventName,
extArgs) |
none |
触发非DOM事件 触发非DOM事件eventName时,extArgs将扩展到事件监听函数(handler)接受到的event参数中。 如:在extArgs内写入{m:10,p:2},eventName监听函数(handler)可以接收到包含m,p两个key值的event对象。 |
EventListener 对象规范 (自v1.2 新增)
此对象没有构造函数,由 event 的 addDomListener()、addListener()方法返回,在需要移除事件监听器时,作为参数传递给 removeListener() 方法。