拖拽
<p id="pe" draggable="true">试着把我拖过去</p>
应用于被拖拽元素的事件
ondrag 应用于拖拽元素,整个拖拽过程都会调用–持续
ondragstart 应用于拖拽元素,当拖拽开始时调用
ondragleave 应用于拖拽元素,当鼠标离开拖拽元素时调用
ondragend 应用于拖拽元素,当拖拽结束时调用
应用于目标元素的事件
ondragenter 应用于目标元素,当拖拽元素进入时调用
ondragover 应用于目标元素,当停留在目标元素上时调用
ondrop 应用于目标元素,当在目标元素上松开鼠标时调用
ondragleave 应用于目标元素,当鼠标离开目标元素时调用
浏览器默认会阻止 ondrop 事件:我们必须在 ondragover 中阻止浏览器的默认行
可以通过函数内的 e 来确定目标
/添加元素/
//e.target.appendChild(obj);
/通过 e.dataTransfer.setData 存储的数据,只能在 drop 事件中获取/
document.ondrop=function(e){
var id=e.dataTransfer.getData(“text/html”);
e.target.appendChild(document.getElementById(id));
}
eval 是做什么的?
它的功能是把对应的字符串解析成 JS 代码并运行;
应该避免使用 eval,不安全,非常耗性能(2 次,一次解析成 js 语句,一次执行)。