SVG嵌入到HTML中,拖放代码问题
SVG embedded into HTML, drag and drop code issues
我有一个嵌入到HTML文档中的SVG文件。我可以用javascript使用id和类访问html和svg中的元素。但是,我想对嵌入的svg执行一些拖放操作。我一直在http://svg-whiz.com/svg/DragAndDrop.svg上使用以下示例将SVG从javascript中分离出来,但是当我将SVG嵌入HTML中时,它会给我带来麻烦。当嵌入
时,SVG中的init函数不起作用。onload="initSVG(evt)"
我需要访问HTML中SVG的根,这样我才能使拖放例程工作。独立svg的原始代码如下所示:
function initSVG(evt)
{
SVGDocument = evt.target.ownerDocument;
SVGRoot = SVGDocument.documentElement;
TrueCoords = SVGRoot.createSVGPoint();
GrabPoint = SVGRoot.createSVGPoint();
}
我的重写是这样的,这样它就可以在没有onload事件调用的情况下运行:
function initSVG()
{
SVGRoot = document.getElementsByTagName("svg");
TrueCoords = SVGRoot.createSVGPoint();
GrabPoint = SVGRoot.createSVGPoint();
}
这给出了错误:"对象#没有方法'CreateSVGPoint'"。因此,它似乎没有像对待独立的SVG那样对待导入的SVG。我如何获得svroot ?
谢谢!
注:我知道我可能应该使用jquery,但我想学习原始DOM。
getElementsByTagName
函数返回一个NodeList
,而不是一个元素。试一试:
SVGRoot = document.getElementsByTagName("svg")[0];
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- HTML/CSS-用于拖放的全页面覆盖
- Rubaxa可与聚合物进行排序/拖放不起作用,具体取决于显示器:
- dblclick事件是在jquery拖放后触发的
- 无法进行拖放以使用本地存储
- 如何使用Java脚本创建提交按钮's的拖放功能
- Chrome原生拖放相对容器并不能正确渲染重影
- 如何在Javascript中创建排序、拖放多级列表
- html5拖放文件-在提交整个表单时上传
- 为什么这个文件上传拖放不起作用,我完全复制了 CodePen 代码
- Jquery/Javascript代码来测试拖放
- 拖放带有 Nodejs 和 Express 500 错误代码的上传器
- 简单的拖放代码
- 手机游戏的拖放代码
- 为什么这个简单的拖放代码会导致元素闪烁
- 适用于FireFox但不适用于IE的拖放代码
- 在移动设备上拖放使用一些代码来翻译事件(包括代码),但正常事件不起作用
- SVG嵌入到HTML中,拖放代码问题
- 我尝试拖放一个元素.为什么我的代码不能正常工作?