0

使用以下示例生成的图像Famo.us 示例:ImageSurface生成不带或的<img>标记alttitle属性

是否有允许添加 HTML 属性的内置函数?

4

1 回答 1

1

目前没有内置函数,但通过查看源代码,我找到了一种方法来做这样的事情。不过请记住,我认为更好的选择是只使用 Surface 并将您想要的所有属性的 img 标签注入到 content 属性中。

这是我必须使用 ImageSurface 做的事情。请注意,该功能处于超时状态,这只是因为图像标签需要时间来加载,我才能通过 Surface 访问它。

var Engine       = require("famous/core/Engine");
var Modifier     = require("famous/core/Modifier");
var ImageSurface = require("famous/surfaces/ImageSurface");
var Timer        = require("famous/utilities/Timer")

var mainCtx = Engine.createContext();

var image = new ImageSurface({
    size: [200, 200],

});

image.setContent("content/famous_symbol.svg");

mainCtx.add(new Modifier({origin: [.5, .5]})).add(image);

add_title_alt = function(){
  if (image._currTarget) {
    image._currTarget.alt = "my-alt";
    image._currTarget.title = "my-title";
  } else {
    Timer.setTimeout(add_title_alt,100);
  }
}

Timer.setTimeout(add_title_alt,100);

不过,再一次,为了让事情不那么粘..我会做这样的事情..

image = new Surface({
    content:"<img alt='my-alt' title='my-title' src='content/famous_symbol.svg' />"
})

希望这可以帮助!

于 2014-04-19T17:25:57.763 回答