我正在使用this plugin获取工具提示。它使用title
属性作为工具提示文本占位符。有太多的工具提示文本,我想将它们全部放在一个地方,以便轻松维护或更新。什么是一个好方法?
我的想法是在js文件中创建一个地图,例如:
var tooltiptext =
[{
"label_1": "description for label 1",
"label_2": "description for label 2",
"label_3": "description for label 3",
...
}]
并使用jquery将这些标题内容添加到$(document).ready
的页面中。
这是一个好主意吗?
答案 0 :(得分:2)
你不需要方括号。假设对象中的label
表示元素的ID。然后使用:
var tooltiptext = {
"label_1": "description for label 1",
"label_2": "description for label 2",
"label_3": "description for label 3",
//....
"label_n": "description for label n"
};
$.each(tooltiptext, function(label, title){
$("#" + label).attr("title", title).tooltip();
});
在循环内部,您要设置元素的title
属性。然后,调用tooltip
。
答案 1 :(得分:1)
如果可以的话,我想转移你选择的路径。
将工具提示作为标题属性放入HTML本身要好得多,因为......
作为开发人员,您将有意义 - 文本是它将被使用的位置,因此您可以看到它正在使用的上下文。如果您有一个包含这些资源的JavaScript文件,您将成为依靠标签告诉你文本的使用位置,随着列表的增长,这将变得很麻烦。
它会起作用!如果JavaScript被禁用,或者设备没有运行JavaScript,或者您的JavaScript中有错误,则title属性仍然会显示工具提示 - 它可能看起来不像很酷的JavaScript工具提示,但你可以保证所有用户都可以在工具提示中获取信息。
稍后,如果您支持多种语言或从内容管理系统获取内容,您将需要通过服务器而不是通过JavaScript注入文本 - 将文本放在标题标记中,它可用于您的JavaScript,因此您不再需要将JavaScript与内容管理系统保持同步,也无需获取JavaScript文本资源的翻译版本。
我希望这可以帮助你下定决心。