Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
文本元素不随jQuery UI拖动而移动_Jquery_Jquery Ui_Svg_Jquery Ui Draggable - Fatal编程技术网

文本元素不随jQuery UI拖动而移动

文本元素不随jQuery UI拖动而移动,jquery,jquery-ui,svg,jquery-ui-draggable,Jquery,Jquery Ui,Svg,Jquery Ui Draggable,我在SVG中有一个文本元素,我已经将jQueryUI应用于该元素。每当我尝试拖动它时,顶部和左侧的CSS属性都会像您预期的那样发生变化,但是,元素本身不会移动,它只是停留在原来的位置 这违背了我对定位的理解。它似乎完全忽略了“顶部”和“左侧”规则 然而,情节越来越复杂 我还将ui Dragable应用于同一个svg中的图像,效果很好。当我拖动它时,它会按预期移动 最有趣的是,如果我拖动一些文本,那么它不会移动,但是如果我移动图像,那么文本会突然移动到我试图拖动它的位置 有人能提供一些关于这里发生

我在SVG中有一个文本元素,我已经将jQueryUI应用于该元素。每当我尝试拖动它时,顶部和左侧的CSS属性都会像您预期的那样发生变化,但是,元素本身不会移动,它只是停留在原来的位置

这违背了我对定位的理解。它似乎完全忽略了“顶部”和“左侧”规则

然而,情节越来越复杂

我还将ui Dragable应用于同一个svg中的图像,效果很好。当我拖动它时,它会按预期移动

最有趣的是,如果我拖动一些文本,那么它不会移动,但是如果我移动图像,那么文本会突然移动到我试图拖动它的位置

有人能提供一些关于这里发生了什么的见解吗

HTML如下所示:

<svg id="k" width="220" height="440" preserveAspectRatio="none">
    <image xlink:href="http://u.r.l/media/1353519179-9178.png" width="220" height="440" preserveAspectRatio="none" x="0" y="0" style="position: relative; left: 2px; top: 3px;" class="ui-draggable" transform="rotate(0,112,223) translate(2,3)"></image>
    <text id="svgtxt" x="0" y="0" style="position: relative; left: 101px; top: 118px;" class="ui-draggable" transform="rotate(0,101,118) translate(101,118)">Hello, world!</text>
</svg>
// ...

$("#k image").draggable({
    refreshPositions : true
});

// Make the text element draggable
$("#k text").draggable({
    refreshPositions : true
});

// ...

如果覆盖
position
css属性,它将不接受
top
left

如果元素的“位置”属性具有 “静态”以外的值


svg
文本
元素与
位置
没有任何关系,因为它遵循svg呈现模型,而不是CSS框模型。有关svg内容中支持的属性列表,请参阅


如果整个片段是html内联的,您可以在其上设置
position
,因为在这种情况下,它是由CSS布局的。

文本元素的位置为“relative”,为什么要在初始化可拖动文件之前设置position,top和left??