千家信息网

HTML5中如何实现拖放效果无须借助javascript

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章给大家分享的是有关HTML5中如何实现拖放效果无须借助javascript的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先看html核心代码:把黄色小方块拖入到红色
千家信息网最后更新 2025年01月23日HTML5中如何实现拖放效果无须借助javascript

这篇文章给大家分享的是有关HTML5中如何实现拖放效果无须借助javascript的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

先看html核心代码:

把黄色小方块拖入到红色大方框中

draggable属性是HTML5/">html5新增加的,它有三个值true,false,auto. true是可以拖,false是不可以,auto由用户浏览器是否支持而定。

加上一点儿样式:

然后我们来看_javascript:

function listenEvent(eventTarget, eventType, eventHandler) {

if (eventTarget.addEventListener) {

eventTarget.addEventListener(eventType, eventHandler,false);

} else if (eventTarget.attachEvent) {

eventType = "on" + eventType;

eventTarget.attachEvent(eventType, eventHandler);

} else {

eventTarget["on" + eventType] = eventHandler;

}

}

// cancel event

function cancelEvent (event) {

if (event.preventDefault) {

event.preventDefault();

} else {

event.returnValue = false;

}

}

// cancel propagation

function cancelPropagation (event) {

if (event.stopPropagation) {

event.stopPropagation();

} else {

event.cancelBubble = true;

}

}

_window.onload=function() {

var target = document.getElementById("drop");

listenEvent(target,"dragenter",cancelEvent);

listenEvent(target,"dragover", dragOver);

listenEvent(target,"drop",function (evt) {

cancelPropagation(evt);

evt = evt || window.event;

evt.dataTransfer.dropEffect = 'copy';

var id = evt.dataTransfer.getData("Text");

target.appendChild(document.getElementById(id));

});

var item = document.getElementById("item");

item.setAttribute("draggable", "true");

listenEvent(item,"dragstart", function(evt) {

evt = evt || window.event;

evt.dataTransfer.effectAllowed = 'copy';

evt.dataTransfer.setData("Text",item.id);

});

};

function dragOver(evt) {

if (evt.preventDefault) evt.preventDefault();

evt = evt || window.event;

evt.dataTransfer.dropEffect = 'copy';

return false;

}

由上面的代码我们看使用一组HTML5 提供的拖放Events,直接来看下面:

dragstart

Drag event starts.

drag

During the drag operation.

dragenter

Drag is over the target; used to determine if target will accept drop.

dragover

Drag is over target; used to determine feedback to user.

drop

Drop occurs.

dragleave

Drag leaves target.

dragend

Drag operation ends.

定义了相关的事件,来实现想要功能。上面的Js不难看懂。

你可以自己试一下,目前在Opera支持最好,IE效果并不好。

感谢各位的阅读!关于"HTML5中如何实现拖放效果无须借助javascript"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

效果 代码 内容 更多 篇文章 面的 支持 不错 大方 实用 难看 三个 不好 事件 功能 属性 文章 方块 最好 样式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库原理实验报告1总结 即时通讯软件开发哪家可信赖 毕业论文制作数据库关系图 智能数据库政策 金山区运营软件开发口碑推荐 js客户端上传文件到服务器 如何在云服务器上玩游戏 怎么让别人连上自己数据库 福建约客课互联网科技有限公司 地形图数据库及其主要特点 修改数据库的命令可以是 筑家易软件开发怎么样 云服务器租用哪个最好 软件开发中涉及的算法 cfda数据库 数据库应用和技术论文 湖北软件开发价格表 国家网络安全等级测评 上海用久网络技术有限公司 做软件开发的要考哪些试 房山区网络技术服务职责 护苗网络安全课堂第4课 专用于生物信息学的服务器 阿里云主从数据库 安陆市软件开发文档 网络安全事件分类分为几级 方舟服务器一直连接进不去怎么办 战狼2 黑科技互联网泛观察 叙述软件开发的产品分析过程 外网服务器的管理设备
0