Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能帮我修理一下吗;复制代码?_Javascript_Svg_Copy_Drag - Fatal编程技术网

Javascript 有人能帮我修理一下吗;复制代码?

Javascript 有人能帮我修理一下吗;复制代码?,javascript,svg,copy,drag,Javascript,Svg,Copy,Drag,我几乎放弃了;(试一下这个片段,设法让它只工作了一半'( 我知道问题在于我是如何处理听众和event.targets的,但我不知道哪里出了问题( 目标是确保所有“库存”类元素都可以拖放。所有“可拖放”类元素都可以拖放 我设法通过“双击”使事情正常工作。基本上,首先单击DragnClick函数创建DragTable。然后单击并拖动-完成这个技巧 但如何只需单击一下就可以完成?如何将拖动事件传递给DragTable //var morpuion=false; var-morphTarget=nul

我几乎放弃了;(试一下这个片段,设法让它只工作了一半'(

我知道问题在于我是如何处理听众和event.targets的,但我不知道哪里出了问题(

目标是确保所有“库存”类元素都可以拖放。所有“可拖放”类元素都可以拖放

我设法通过“双击”使事情正常工作。基本上,首先单击DragnClick函数创建DragTable。然后单击并拖动-完成这个技巧

但如何只需单击一下就可以完成?如何将拖动事件传递给DragTable

//var morpuion=false;
var-morphTarget=null;
var-drag=null;
var canvas={};
var存货={};
canvas=document.getElementById(“canvas”);
库存=document.getElementById(“库存”);
window.onload=函数(){

对于(i=0;i您有两个单独的mousedown事件处理程序。第二个(启动拖动)仅在克隆库存项目后添加

如果希望在单击资源清册时开始拖动,则需要将“开始拖动”代码移动到第一个mousedown处理程序

在下面的示例中,我刚刚将其移动到一个名为“startMove()”的函数中,我从第一个mousedown处理程序调用了该函数

//var morpuion=false;
var-morphTarget=null;
var-drag=null;
var canvas={};
var存货={};
canvas=document.getElementById(“canvas”);
库存=document.getElementById(“库存”);
window.onload=函数(){

对于(i=0;iI也不知道哪里出了问题。请您解释一下,到底是什么地方不符合您的预期。对我来说,这段代码似乎有效。好吧,看看我提到的目标-在这段代码中,第一次拖动后,无法移动可拖动的元素。我尽了最大努力编辑了剪切的部分。基本上,现在除了t拖动和复制需要两次单击。第一次单击可复制第二次单击可开始拖动。如何合并事件?以便用户可以从一开始单击和拖动?