返回信息流看权威指南的,关于drag.js
网上也有源码http://blog.csdn.net/pigpigpig4587/article/details/19330943
简单点描述,就是把鼠标在指定区域按下后,注册监听鼠标位置的处理程序。
该程序的功能就是让制定的node或者element跟随鼠标改变位置。
鼠标抬起后,取消监听。
但是有一处不明白,代码如下:
//我们处理了这个事件,不让任何其他元素看到它
if(event.stopPropagation) event.stopPropagation();//标准模型
else event.cancelBubble = true;//IE
//现在阻止任何默认操作
if(event.preventDefault) event.preventDefault();//标准模型
else event.returnValue = false;//IE
实在不是很明白这两段代码啥意思,而且注释了以后,firefox也没用报错。。。
汗了半天。。
球大神~
这是一条镜像帖。来源:北邮人论坛 / www-technology / #25978同步于 2014/6/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
js事件的注册与注销问题
liuqiji
2014/6/5镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
这两段代码分别是 阻止冒泡 和 阻止默认操作,注释掉是不会报错的,只是会得到意料之外的效果。
标准模型和IE对以上两种操作的实现不相同,所以用if作能力判断。注释里说得算清楚了,好好了解一下 事件捕获与冒泡。
就阻止冒泡来说,试了下,IE11支持event.stopPropagation(),而chrome35支持event.cancelBubble=true。