Javascript ondrag、ondragstart、ondragend

Javascript ondrag、ondragstart、ondragend,javascript,drag-and-drop,Javascript,Drag And Drop,我一直在尝试使用ondrag()和div上的一些其他函数,这些函数在HTML页面上动态呈现 这些事件似乎都没有发生,我也没有收到任何错误。我也找不到太多关于它的有用文档。我是否解释错了,您是否可以使用这些事件来编写脚本功能,在屏幕上拖动一个div?查看以下文档: 注意:它并不适用于所有浏览器 如果需要跨浏览器支持,请使用jQuery: jQuery示例: <div id="draggable" class="ui-widget-content"> <p>Drag

我一直在尝试使用
ondrag()
div
上的一些其他函数,这些函数在
HTML
页面上动态呈现


这些事件似乎都没有发生,我也没有收到任何错误。我也找不到太多关于它的有用文档。我是否解释错了,您是否可以使用这些事件来编写脚本功能,在屏幕上拖动一个div?

查看以下文档:

注意:它并不适用于所有浏览器

如果需要跨浏览器支持,请使用jQuery:

jQuery示例:

<div id="draggable" class="ui-widget-content">
    <p>Drag me around</p>
</div>

<script>
    $(function() {
        $( "#draggable" ).draggable({
            drag: function(event, ui) {}
        });
    });
</script>

把我拖来拖去

$(函数(){ $(“#可拖动”)。可拖动({ 拖动:函数(事件,ui){} }); });
另一个例子:

<div id="toBeDragged" draggable="true">
  This text <strong>may</strong> be dragged.
</div>

<script>
document.getElementById('toBeDragged').addEventListener('dragstart', function(event) {
    event.dataTransfer.setData('text/plain', 'This text may be dragged');
});
</script>

此文本可以拖动。
document.getElementById('toBeDragged')。addEventListener('dragstart',函数(事件){
event.dataTransfer.setData('text/plain','This text may draw');
});

我自己很少使用拖动,但我相信这是拖动“编辑”动作——例如选择文本并在文本框/文本区域内拖动


您可能需要实现自己的
onmousedown()
onmouseup()
onmousemove()
处理程序,以实现我认为您需要的功能。一个简单的方法是使用jQuery UI,确保在呈现动态
div
后使用它

$(document).ready(function () {
    $('.my_draggable_elements').draggable({
        drag: function(){
          // do something
        }
    });
});

div中有内容吗?我不认为是元素本身在这个特定事件中被拖拽。

简短回答:
-s在默认情况下是不可拖拽的,这与
-s
不同。您必须添加draggable=true

<div draggable=true ondragstart=...>HTML</div>
HTML

在Firefox75上也可以这样工作。

您使用过javascript框架/插件吗?如果不是IE和safari以外的浏览器,其他浏览器也不理解ondrag。你能粘贴你的代码吗?Borwser?博士类型?你可以提供一些其他细节吗?好文章:HTML5规范标准化了拖放:我没有使用JQuerysorry@Tom古伦:另一个例子呢?如果你想要一个健壮的跨浏览器拖动解决方案,我建议你使用在现有JS框架上构建的众多可用选项之一。