使用以下示例Famo.us example: ImageSurface生成的图片会生成<img>
标记而不包含alt
或title
属性。
是否有允许添加HTML属性的内置函数?
答案 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' />"
})
希望这有帮助!