mousedown\mouseup\click事件关系
来源:互联网 发布:党员干部必知的50个词 编辑:程序博客网 时间:2024/05/29 02:18
背景分析:
如果用户在一个元素上点击,那么最少三个事件会被触发,事件发生顺序:
1、mousedown,当用户在这个元素上按下鼠标键的时候
2、mouseup,当用户在这个元素上松开鼠标键的时候
3、click,当一个mousedown和一个mouseup都在这个元素上被检测到的时候发生
工作需求:
在地图上通过鼠标点击添加marker,拖拽地图后,避免点击事件的进入,即拖拽不添加marker。
分析:如果希望拖拽动作后,不触发点击事件,单纯帮顶click事件是不行的,可以使用mousedown、mousemove、mouseup来描述拖拽和鼠标点击事件。
mousedown-mousemove-mouseup,为拖拽事件;mousedown-mouseup,为点击事件。
于是问题细化成,通过flag判断是不是进行了move操作,一旦进行则mouseup中的函数体不执行即可,示意代码如下:
map.addEventListener("mousedown", function () { ifDrag = true; }) map.addEventListener("mousemove", function () { ifDrag = false; }) map.addEventListener("mouseup", function (type, evt) { //判断是否有拖拽动作 if (ifDrag) { //add marker showMarkerData(evt.mouseGeoPoint); } else { //no maker } })
但是,这并不意味着click方法没有触发,如果给map也监听click方法,会发现click在up后也是会触发的,只不过我们不对它执行任何操作,而只使用mouse事件,效果是不影响罢了。
map.addEventListener("click",function(type,evt){ //click })
------------------------------------------------
博主经营一家发饰淘宝店,都是纯手工制作哦,开业冲钻,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!
店名:
小鱼尼莫手工饰品店
经营:
发饰、头花、发夹、耳环等(手工制作)
网店:
http://shop117066935.taobao.com/
---------------------------------------------------------------------
继续正题...
参考网页:
http://tech.cncms.com/sheji/js/41804.html
http://bbs.9ria.com/thread-140336-1-1.html
http://www.cnblogs.com/webflash/archive/2010/01/05/1639306.html(当三个事件作用于同一个标签节点element时,尝试使用setTimeout时间函数来区分)
店名:
小鱼尼莫手工饰品店
经营:
发饰、头花、发夹、耳环等(手工制作)
网店:
http://shop117066935.taobao.com/
- mousedown\mouseup\click事件关系
- mousedown、mouseup与click
- mousedown mouseup click 触发顺序
- js click mouseup mousedown执行顺序
- 鼠标事件中MouseDown、MouseUp与Click事件有什么区别?
- VC中按钮的MouseDown和MouseUp事件捕捉
- Extjs鼠标长按事件(实现长按按钮触发事件的方法:mousedown、mouseup)
- C#把子控件的MouseUP MouseDown MouseMove三个事件提交到父控件
- 认识js中的鼠标按下放开mousedown,mouseup以及按键事件keydown,keyup
- jquery事件 【mousedown与mouseup ----keydown与keypress与keyup】focus--blur--orrer--pageX-pageY
- javascript事件, 解决mousedown和click冲突事件, 鼠标事件, 键盘事件, 文本事件用法简介
- MouseDown事件
- JS悬浮事件中hover、mouseenter、mouseleave、mousedown、mouseup、keydown、keyup、mouseover以及mouseout之间的区别
- click mouseup move down 问题解决
- 关于flex里面mousedown 和click事件冲突问题的解决办法
- 关于flex里面mousedown 和click事件冲突问题的解决办法
- WPF InkCanvas MouseDown触发 MouseUp不触发问题
- jquery 触发 mouseup 事件
- Thread 的几个概念sleep、wait、yield、interrupt
- Android微信支付直接跳转WXPayEntryActivity
- Android中Cursor类的概念和用法
- 4. Median of Two Sorted Arrays(hard)(lg(n+m),可以转化为求俩组数合并后第k个元素,通过递归去掉前面一部分不可能为第k个元素的一组数来实现)
- 最新iBATIS的代码发生器Ibator插件安装及使用
- mousedown\mouseup\click事件关系
- Logstash 介绍
- swiper相关代码
- linux定时任务的设置
- java存储空间的面试题
- 阿里云linux服务器如何挂载数据盘
- POJ 3539 Elevator
- java中list、set、map的区别
- swift 自定义(超简单)上拉加载(gif动画)