0

我在输入一个textarea用 svg 创建的文件时遇到了一些问题。

这是代码:

var data = "<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'>" +
             "<foreignObject width='100%' height='100%'>" +
               "<div xmlns='http://www.w3.org/1999/xhtml' style='font-size:40px;position:fixed;top:100px;left:50px;'>" +
               "<textarea cols='30' rows='10'></textarea>" +
                 //"<em>I</em> like <span style='color:white; text-shadow:0 0 2px blue;'>cheese</span>" +
               "</div>" +
             "</foreignObject>" +
           "</svg>";
            var DOMURL = self.URL || self.webkitURL || self;
            var img = new Image();
            var svg = new Blob([data], { type: "image/svg+xml;charset=utf-8" });
            var url = DOMURL.createObjectURL(svg);
            img.onload = function () {
                ctx.drawImage(img, 0, 0);
                DOMURL.revokeObjectURL(url);
            };
            img.src = url;

            var doc = document.implementation.createHTMLDocument("");
            doc.write(html);
            doc.documentElement.setAttribute("xmlns", doc.documentElement.namespaceURI);
            var html = (new XMLSerializer).serializeToString(doc);

它在画布中生成我需要的 a textarea,但阻止写入/编辑。怎么了?我重用了以下代码: https ://developer.mozilla.org/en-US/docs/HTML/Canvas/Drawing_DOM_objects_into_a_canvas

4

1 回答 1

0

你得到了你所做的:你drawn是一个文本区域canvas

Textarea DOM Element如果没有手动管理每件事,就不可能让它像交互一样。

于 2013-10-10T20:35:30.023 回答