DOM和自定义事件 最后更新时间: 2021年01月22日
在 Web 开发中,我们还会遇到对 DOM 事件的操作,或者特殊场景下需要使用自定义事件,因此本章将会介绍这两种事件的使用。
1. DOM 事件
我们在 JS API 中提供了对 DOM 事件的操作,在不使用第三方类库的情况下,您依然可以处理不同浏览器的兼容问题。当然开发者也可以使用类似 jQuery 这样的类库进行替换。
有别于前面的事件接口,DOM 的事件绑定使用 AMap.event.addDomListener
方法进行绑定。而解绑使用 AMap.event.removeListener
方法。
使用方式和很多第三方类库大同小异,这里仅给出一个简单的例子:
<!-- DOM 节点 - 按钮 -->
<button id="btn">Click Me!</button>
var btn = document.getElementById("btn")
// 绑定事件
var listener = AMap.event.addDomListener(btn, "click", function(ev) {
// DOM 被点击时触发,ev 为原生事件
});
// 解绑事件
AMap.event.removeListener(listener);
2. 自定义事件
对于一些特殊情况(解耦代码等),我们需要自定义事件。我们可以使用 AMap.event.addEventListener
或地图对象的 on
方法进行事件绑定,使用 AMap.event.tigger
方法或者地图对象 emit
方法进行事件的派发。