html5中在会员开端拖动元素或选中的文本时触发的事件ondragstart
实例
在会员开端拖动
元素时施行 JavaScript :
拖动我!
定义和用途
ondragstart 事件在会员开端拖动元素或选中的文本时触发。
拖放是 HTML5 中非常常见的功能。 更多信息可以查看我们 HTML 教程中的 HTML5 拖放。
注意: 为了让元素可拖动,需要运用 HTML5 draggable 属性。
提醒: 链接和图片默许是可拖动的,不需要 draggable 属性。
在拖放的历程中会触发下列事件:
在拖动指标上触发事件 (源元素):
ondragstart - 会员开端拖动元素时触发
ondrag - 元素正在拖动时触发
ondragend - 会员完成元素拖动后触发
开释指标时触发的事件:
ondragenter - 当被鼠标拖动的对象进入其容器范畴内时触发此事件
ondragover - 当某被拖动的对象在另一对象容器范畴内拖动时触发此事件
ondragleave - 当被鼠标拖动的对象脱离其容器范畴内时触发此事件
ondrop - 在一个拖动历程中,开释鼠标键时触发此事件
语法
HTML 中:
JavaScript 中:
object.ondragstart=function(){myScript};
JavaScript 中, 运用 addEventListener() 办法:
object.addEventListener("dragstart", myScript);
注意: Internet Explorer 8 及更早 IE 版本不支撑 addEventListener() 办法。
技术细节
可否支撑冒泡: | Yes |
可否可以取消: | Yes |
事件类型: | DragEvent |
支撑的 HTML 标签: | All HTML elements |
更多实例 实例 下列实例演示了所有的拖放事件:/* 拖动时触发*/
document.addEventListener("dragstart", function(event) {
//dataTransfer.setData()办法设定数据类型和拖动的数据
event.dataTransfer.setData("Text", event.target.id);
// 拖动 p 元素时输出一些文本
document.getElementById("demo").innerHTML = "开端拖动 p 元素.";
//修改拖动元素的透亮度
event.target.style.opacity = "0.4";
});
//在拖动p元素的同时,转变输出文本的色彩
document.addEventListener("drag", function(event) {
document.getElementById("demo").style.color = "red";
});
// 当拖完p元素输出一些文本元素和重置透亮度
document.addEventListener("dragend", function(event) {
document.getElementById("demo").innerHTML = "完成 p 元素的拖动";
event.target.style.opacity = "1";
});
/* 拖动完成后触发 */
// 当p元素完成拖动进入droptarget,转变div的边框样式
document.addEventListener("dragenter", function(event) {
if ( event.target.className == "droptarget" ) {
event.target.style.border = "3px dotted red";
}
});
// 默许状况下,数据/元素不克不及在其他元素中被拖放。关于drop我们必需防止元素的默许处置
document.addEventListener("dragover", function(event) {
event.preventDefault();
});
// 当可拖放的p元素脱离droptarget,重置div的边框样式
document.addEventListener("dragleave", function(event) {
if ( event.target.className == "droptarget" ) {
event.target.style.border = "";
}
});
/*关于drop,防止阅读器的默许处置数据(在drop中链接是默许打开)
复位输出文本的色彩和DIV的边框色彩
应用dataTransfer.getData()办法获得拖放数据
拖拖的数据元素id("drag1")
拖拽元素附加到drop元素*/
document.addEventListener("drop", function(event) {
event.preventDefault();
if ( event.target.className == "droptarget" ) {
document.getElementById("demo").style.color = "";
event.target.style.border = "";
var data = event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data));
}
});
以上就是html5中在会员开端拖动元素或选中的文本时触发的事件ondragstart的细致内容,更多请关注 百分百源码网 其它相干文章!