pageX pageY:鼠标指针的位置,相对于文档开头左上角的位置。
offsetX offsetY:鼠标相对于事件源元素左上角的x,y坐标
clientX clientY:鼠标指针相对与游览器窗口可视区左上角的位置
screenX screenY 鼠标指针相对于显示器左上角的位置
onmouseover 属性在鼠标指针移动到元素上时触发。
onmouseout 属性在鼠标指针移动到元素外时触发。
指定元素的子元素时也触发该事件;(父亲有的东西,儿子也有) ,支持冒泡,含子元素区域。
onmouseenter 事件在鼠标指针移动到元素上时触发。
onmouseleave 事件在鼠标指针移出元素时触发。
指定的子元素不包含该事件;(父亲的东西就是父亲的,不归儿子所有),不支持冒泡,不含子元素
开始拖动(dragstart事件)
把拖动的数据存入DataTransfer(setData()方法)。DataTransfer对象专门用来存储拖放时要携带的数据,它可以被设置为拖放事件对象的dataTransfer属性。
setData有两个参数:
第一个参数为携带数据的数据种类的字符串,只能填入类似”text/plain” 或”text/html”的表示MIME类型的文字,不能填入其他文字。
第二个参数为要携带的数据
preventDefault()
必须在dragend和dragover事件内调用“事件对象.preventDefault()”方法。因为在默认情况下,拖放的目标元素是不允许接受元素的,为了把元素拖放到其中,必须把默认处理给关掉
目标元素使用getData()方法
目标元素接受到被拖放的元素后,执行getData()方法从DataTransfer 那里获得数据。
getData()方法的参数为setData()方法中指定的数据类型
注意!
要实现拖放过程,还必须在目标元素的drop事件中关闭默认处理(拒绝被拖放),否则目标元素不能接受被拖放的元素。
要实现拖放过程,还必须设定整个页面为不执行默认处理(拒绝被拖放),否则拖放处理也不能被实现。因为页面是先于其他元素接受拖放的,如果页面拒绝拖放,那么其他页面上的元素也不能接受拖放。
来源:CSDN
作者:qq_45637785
链接:https://blog.csdn.net/qq_45637785/article/details/103722113