【问题标题】:SVG and Javascript - Creating a SVGPoint - TypeError: Illegal constructorSVG 和 Javascript - 创建 SVGPoint - TypeError: Illegal constructor
【发布时间】:2010-11-21 18:12:05
【问题描述】:

我正在尝试使用 Javascript 创建一个 SVG 多边形。

当我尝试使用此 Javascript 代码创建 SVGPoint 时:

var p = new SVGPoint();

我收到以下消息: - TypeError: 非法构造函数

【问题讨论】:

  • 哈哈哈。野生动物园:TypeError: SVGPointListConstructor is not a constructor (evaluating 'new SVGPointList()')

标签: javascript html svg


【解决方案1】:

从您的 SVG 文档中,您需要调用 .createSVGPoint() 来创建一个新点(初始化为 0,0),如下所示:

var p = svgRoot.createSVGPoint();

SVGPoint(接口本身)没有构造函数,这就是您当前遇到错误的原因。

【讨论】:

  • 请定义 svgRoot 以及它是什么类型的元素
  • @NuclearPeon: svgRoot 是一个<svg> 元素。 createSVGPoint() 方法是为SVGSVGElement 元素接口定义的,即<svg> 元素。
  • 感谢您澄清 :)
【解决方案2】:

您也可以尝试使用 Raphaël javascript 库来实现替代 SVG API 并可以在 InternetExplorer 6+ 中模拟 SVG:http://raphaeljs.com/

【讨论】:

  • -1 因为您没有满足人们的需求,而是试图让他们使用另一个抽象层。不需要。仅供参考,2019 年我的做法正好相反:将基于 svg.js 的代码移至原生 SVG。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2013-11-15
  • 2014-05-18
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
相关资源
最近更新 更多