工具提示器中的属性/变量被忽略
Attributes / vars in tooltipster are ignored
两天来,我一直在努力弄清楚为什么 tooltipster(顺便说一下,这很棒)没有考虑 javascript / head 部分中声明的任何 var。例如:
<script>
$(document).ready(function() {
$('.tooltip').tooltipster({
var data = 'toto';
contentAsHTML: true,
animation: 'slide',
delay: 100,
content : $(data)
});
});
</script>
与:
<img src="Pics/winter.png" alt="winter" border="1" class="tooltip" />
根本不起作用(意味着工具提示未显示在 HTML 页面中)。我尝试了几种编码变体,包括添加 '; ' 等等,但它不会改变结果。
我还尝试使用以下方法获取元素的属性:
content : '$(this).attr('alt')'
这是我的最终目标,也没有用。我错过了什么?
最可能的原因是
var data = 'toto';
contentAsHTML
、animation
、delay
、content
等是 tooltipster 接受的选项。
但是当它遇到 var data = 'toto';
时会出错,因为它不是 tooltipster
可以接受的选项
我已经快速 jsFiddle 演示了 "correct" 从原始元素设置工具提示内容的方法 - 在它初始化时。
之前无法正常工作的原因是:
- 您在传递给
tooltipster
函数的 JSON 对象中声明变量 data
- 这是 JavaScript. 的无效语法
- 您的第二次尝试更接近,但在
content
属性 中使用 this
是对 "outside" this
范围的模糊引用 - 可能无关到工具提示实例或您之后的 HTML 节点。
这是修改后的代码,可以满足您的需求:
$(document).ready(function() {
$('.tooltip').tooltipster({
contentAsHTML: true,
animation: 'slide',
delay: 100,
functionInit: function(instance, helper) {
var alt = $(helper.origin).attr('alt');
instance.content(alt);
}
});
});
希望对您有所帮助:)
两天来,我一直在努力弄清楚为什么 tooltipster(顺便说一下,这很棒)没有考虑 javascript / head 部分中声明的任何 var。例如:
<script>
$(document).ready(function() {
$('.tooltip').tooltipster({
var data = 'toto';
contentAsHTML: true,
animation: 'slide',
delay: 100,
content : $(data)
});
});
</script>
与:
<img src="Pics/winter.png" alt="winter" border="1" class="tooltip" />
根本不起作用(意味着工具提示未显示在 HTML 页面中)。我尝试了几种编码变体,包括添加 '; ' 等等,但它不会改变结果。 我还尝试使用以下方法获取元素的属性:
content : '$(this).attr('alt')'
这是我的最终目标,也没有用。我错过了什么?
最可能的原因是
var data = 'toto';
contentAsHTML
、animation
、delay
、content
等是 tooltipster 接受的选项。
但是当它遇到 var data = 'toto';
时会出错,因为它不是 tooltipster
可以接受的选项
我已经快速 jsFiddle 演示了 "correct" 从原始元素设置工具提示内容的方法 - 在它初始化时。
之前无法正常工作的原因是:
- 您在传递给
tooltipster
函数的 JSON 对象中声明变量data
- 这是 JavaScript. 的无效语法
- 您的第二次尝试更接近,但在
content
属性 中使用this
是对 "outside"this
范围的模糊引用 - 可能无关到工具提示实例或您之后的 HTML 节点。
这是修改后的代码,可以满足您的需求:
$(document).ready(function() {
$('.tooltip').tooltipster({
contentAsHTML: true,
animation: 'slide',
delay: 100,
functionInit: function(instance, helper) {
var alt = $(helper.origin).attr('alt');
instance.content(alt);
}
});
});
希望对您有所帮助:)