【发布时间】:2011-07-26 01:00:03
【问题描述】:
我在这里使用 qTip2,并且需要能够在工具提示仍处于活动状态时刷新它的内容。带有工具提示的元素有一个点击事件,该事件会进行一些计算,这些计算可以改变我希望在工具提示中显示的内容。
我尝试在每次重新计算后调用 'destroy' 方法并重新绑定 qtip2,但只有在将鼠标移开并将其放回后才能正常工作。
我想要实现的是强制当前活动的工具提示重新绘制自己。
【问题讨论】:
标签: javascript jquery qtip2
我在这里使用 qTip2,并且需要能够在工具提示仍处于活动状态时刷新它的内容。带有工具提示的元素有一个点击事件,该事件会进行一些计算,这些计算可以改变我希望在工具提示中显示的内容。
我尝试在每次重新计算后调用 'destroy' 方法并重新绑定 qtip2,但只有在将鼠标移开并将其放回后才能正常工作。
我想要实现的是强制当前活动的工具提示重新绘制自己。
【问题讨论】:
标签: javascript jquery qtip2
如果你看documentation,有一个“设置”的方法来改变内容:
$('.selector').qtip('option', 'content.text', 'new content'); // Preferred
这就是你要找的吗?
更新:在测试了 api 选项后,它们似乎无法正常工作,但我找到了另一种方法 - 这里是 demo - 将鼠标悬停在提示上 1 秒以查看它的变化。
// make sure you target a specific tip
var qapi = $('#tip1').data('qtip'),
newtip = 'new tooltip content'
qapi.options.content.text = newtip; // update content stored in options
qapi.elements.content.text(newtip); // update visible tooltip content
qapi.redraw(); // redraw to adjust tooltip borders
【讨论】:
$(this) 而不是 $('.selector') 时,它对我不起作用,这就是我工作的原因关于替代方法。无论哪种方式都有效,但第一种是最好的。