上述加粗的是经常会用到的事件类型
以 eventType=MouseEvents ,触发事件为 click 为例:
你这个问题全部内容应该是如下吧:在视频播放的时候,能够用on监听事件的触发,如下:player.on('pause',function(){console.log('视频暂停');})player.on('ended',function(){console.log('视频结束')})这个是什么原理,怎么自定义类似pause、ended的事件,并能够用on监听?麻烦指教相当于来说你要维护一个事件队列。player对象大概有这么些属性{on: func(key, callback),emit: func(key),events: object}events是一个对象,数据结构如下:{pause: [func, func]}调用on函数时,把event的key以及callback添加到events中。调用emit函数表示相应事件触发,根据相应的key从events中获取相应的callback数组,依次执行函数。给自定义覆盖物添加了click事件后,页面跳转再跳回有覆盖物的页面时,点击事件失效了。之前是 div.onclick=function(){}
于是
var bugFlag=true
div.addEventListener("touchstart", function(e){
bugFlag = true
})
div.addEventListener("touchmove", function(e){
$timeout(function () {
bugFlag = false
},100) // 移动端的话需要延时
})
div.addEventListener("touchend", function(e){
if(bugFlag==true){
attribute(this.getAttribute('myId'),this.getAttribute('myTotal'),this.getAttribute('startCity'))
}
})
这样的话,拖动地图不会触发点击事件了。