jQuery工具工具提示 - 更改标题

时间:2011-07-11 13:31:20

标签: jquery tooltip title jquery-tools

jquery插件工具工具提示有问题(http://flowplayer.org/tools/tooltip/index.html) 我需要更改元素的标题..

   reloadTooltip();
   $("#example").attr('title', obj.text);
   reloadTooltip();

   function reloadTooltip(){
       $("[title]").tooltip({ position: "bottom right", opacity: 1 });
   }

Html Part:

   <span title="text" id="example"></span>

凭借我的解决方案,我终于得到了2个冠军,一个在另一个之上。没有风格(被忽略的js),是新的。工具工具提示标题尚未更改。

谢谢

13 个答案:

答案 0 :(得分:19)

我即将做同样的事情。我查看了Tooltip插件代码,发现了更新工具提示的快捷方式。该插件删除title属性并将该内容放入名为tooltipText的元素属性中。在jQuery 1.6+中,可以这样操作:

// get the current tooltip content
$('#someElement').prop('tooltipText')

// set the tooltip content
$('#someElement').prop('tooltipText', 'w00t');

该插件在版本1.3的第55行设置tooltipText属性(注意大小写)。就我所知,以这种方式进行的改变是即时的。

如果进行直接元素操作,工具提示内容位于:

var e = document.getElementById('#someElement');
alert(e.tooltipText);
e.tooltipText = 'w00t';

答案 1 :(得分:17)

得到了它! 根据最新版本的工具提示(截至v2.3.1)https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js#L272 你需要设置属性(不是属性)'data-original-title',因为这是工具提示当前正在使用的。

这是一个黑客,但我希望它适合你,因为它对我有用。

$('#example').attr('data-original-title','the new text you want'); //and that's it.

答案 2 :(得分:8)

不知道你是否还在寻找答案,但我花了好几个小时试图对同样的事情进行排序并找到答案(简单,因为一旦你找到它们就会一直这样!)在API文档中。

无论您首先设置工具提示的元素是什么,请从中获取工具提示API并设置新值。即如果您在ID为“myTip”的元素上设置工具提示

$('#myTip').data('tooltip').getTip().html("New string!") ;

Et瞧。

您不应该删除标题(并且不应该因为工具提示是懒惰的初始化)。而是使用cancelDefault配置:

http://flowplayer.org/tools/tooltip/index.html

答案 3 :(得分:4)

所有其他选项都不适用于上一版本的tooltipster(3.3.0) 我发现这个命令有效:

$('#selectorElement').tooltipster('content', 'new title');

答案 4 :(得分:2)

这个怎么样?

   initTooltip();
   updateTooltip(obj.text);


   function initTooltip(){
       $("[title]").tooltip({ position: "bottom right", opacity: 1 });
   }

   function updateTooltip(text){
       $("[title]").attr('title', text);
       $("[title]").data('title',text);
       $("[title]").removeAttr("title");   
    }

我不知道这是否是最好的方法,但我认为它可能适合你。


obj.text是否正确? obj.text中有什么内容?

答案 5 :(得分:1)

动态更改标题的另一个解决方案是使用onBeforeShow事件:

jQuery('#myselector').tooltip({onBeforeShow: tooltipBeforeShow});

...

function tooltipBeforeShow() {
  // On production you evaluate a condition to show the apropiate text
  var text = 'My new text for the <b>tooltip</b>';
  this.getTip().html(text);
}

this指的是事件函数

上的工具提示对象

答案 6 :(得分:1)

对我来说没有任何作用,但重新初始化工具提示:

        //Save the current configuration.
        var conf = trigger.data('tooltip').getConf();
        trigger.removeData('tooltip').unbind();
        //Add the changed text.
        var newText = 'Hello World!';
        trigger.attr("title", newText);
        //Reapply the configuration.
        trigger.tooltip(conf);

以前的涉及getTip()的答案要求工具提示至少显示一次;否则,getTip()产生一个null。

使用OnBeforeShow几乎对我有用,但我无法弄清楚如何取消绑定事件,以便它不会在我展示的每一次都执行。

由于某些原因,更改标题对我不起作用,可能是因为我使用的是自定义布局。

答案 7 :(得分:0)

尝试通过调用jQuery的数据(“title”)方法来修改标题值。

答案 8 :(得分:0)

我也很努力。这段代码对我有用:

$('.yourelement').attr('tooltipText', newToolTip);

请注意大写T。小写T将不起作用。

答案 9 :(得分:0)

最适合我的工具提示!此工具提示类似于Gmail

enter image description here

在首页上:

<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript' src="http://onehackoranother.com/projects/jquery/tipsy/javascripts/jquery.tipsy.js"></script>
<link rel="stylesheet" type="text/css" href="http://onehackoranother.com/projects/jquery/tipsy/stylesheets/tipsy.css">

在HTML上:

<a class="example" href="#" original-title="Hello World">Hover over me</a>

<br/>

<a class="example" href="#" original-title="Hello World">Hover over me</a>

<br/>

<a class="example" href="#" original-title="Hello World">Hover over me</a>

关于Javascript代码:

$(function() {
    $('.example').tipsy();
});

访问演示jsfiddle

答案 10 :(得分:0)

以上所有内容都不适用于最新版本的工具提示器,正确的方法是:

$('#help').data($('#help').data('tooltipsterNs')[0]).Content="new content";

答案 11 :(得分:0)

这对我有用:

$(&#39;#yourID&#39;)。attr(&#39; data-original-title&#39;,&#39; New Message&#39;)。工具提示(&#39; show&# 39;)工具提示(&#39;隐藏&#39);

答案 12 :(得分:0)

使用此: $(selector).attr(“数据原始标题”,“您的工具提示文本!”);