如何为ImageSurface设置alt或title标签?

时间:2014-04-19 15:40:02

标签: famo.us

使用以下示例Famo.us example: ImageSurface生成的图片会生成<img>标记而不包含alttitle属性。

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

1 个答案:

答案 0 :(得分:1)

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

以下是我使用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' />"
})

希望这有帮助!