Javascript svg画布中的本机按钮标记
我需要在SVG画布中放置一个按钮标记,有办法吗?(我用的是拉斐尔JS)Javascript svg画布中的本机按钮标记,javascript,svg,raphael,Javascript,Svg,Raphael,我需要在SVG画布中放置一个按钮标记,有办法吗?(我用的是拉斐尔JS) 我知道我可以在svg画布中“绘制”一个按钮,并对onclick事件进行编码,但我希望保留浏览器按钮的本机外观。多谢各位 可以使用SVG foreignObject元素在SVG中使用HTML按钮: 规范中包含了一个如何使用它的示例 不幸的是,我不知道怎样才能最好地使用拉斐尔的foreignObject。我相信foreignObject并没有作为rapaheljsapi的一部分公开。原因是,可能没有一种干净的方法可以在IE上使用
我知道我可以在svg画布中“绘制”一个按钮,并对onclick事件进行编码,但我希望保留浏览器按钮的本机外观。多谢各位 可以使用SVG foreignObject元素在SVG中使用HTML按钮: 规范中包含了一个如何使用它的示例 不幸的是,我不知道怎样才能最好地使用拉斐尔的foreignObject。我相信foreignObject并没有作为rapaheljsapi的一部分公开。原因是,可能没有一种干净的方法可以在IE上使用VML实现相同的目标。但是,raphaeljs确实使访问其对象的底层本机SVG DOM节点变得相当容易,因此,如果IE兼容性不是应用程序所必需的,那么使用常规SVG DOM API使用foreignObject应该相当容易。例如,您可以执行以下操作:
var paper = Raphael("canvas", 640, 480);
var svgRoot = paper.canvas; //everywhere except IE, this is an SVGSVGElement
var fo = document.createElementNS(paper.svgns,"foreignObject")
svgRoot.appendChild(fo);
//then add your HTML DOM nodes to fo here using regular HTML DOM...