gpt4 book ai didi

jquery - 如何使用 HTML5 ondrag 事件改变元素的位置?

转载 作者:太空宇宙 更新时间:2023-11-04 13:25:51 24 4
gpt4 key购买 nike

例如:

https://github.com/lbj96347/easypost/blob/master/test.html

(p.s:你应该有 jquery 和页面的 css 文件。:-))

像这个页面,你可以使用jquery扩展来改变元素的位置。

但是html5和ie给我们提供了drags api.like ondrag ondragend等等。

当我使用新的事件时,我无法获取鼠标在页面上的位置,因此无法实现类似jquery扩展的效果。

好的,我如何使用 drags api 来实现这种效果?

谢谢。

最佳答案

强烈推荐阅读'The HTML5 drag and drop disaster' .

<!DOCTYPE html>
<html>
<head>
<style>
html {
height: 100%;
}

body {
margin: 0;
padding: 0;
height: 100%;
}

section {
height: 100%;
}

div {
width: 40px;
height: 40px;
position: absolute;
background-color: #000;
}
</style>
</head>
<body>
<section ondragenter="return drag_enter( event )" ondrop="return drag_drop( event )" ondragover="return drag_over( event )">
<div id="item" draggable="true" ondragstart="return drag_start( event )"></div>
</section>
<script>
function drag_enter( action )
{
action.preventDefault( );

return true;
}

function drag_over( action )
{
action.preventDefault( );
}

function drag_start( action )
{
action.dataTransfer.effectAllowed = 'move';
action.dataTransfer.setData( 'id', action.target.getAttribute( 'id' ) );

return true;
}

function drag_drop( action )
{
var id = action.dataTransfer.getData( 'id' );

var element = document.getElementById( id );
element.style.top = action.clientY + 'px';
element.style.left = action.clientX + 'px';

if ( action.stopPropagation )
{
action.stopPropagation( );
}

return false;
}
</script>
</body>
</html>

延伸阅读

HTML Drag and Drop API

Native HTML5 Drag and Drop

Native Drag and Drop

关于jquery - 如何使用 HTML5 ondrag 事件改变元素的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7572366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com