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

发布于 2024-11-19 17:01:05 字数 477 浏览 5 评论 0 原文

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 部分:

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

通过我的解决方案,我终于得到了 2 个标题,一个在另一个之上。无样式(忽略 js)是新的。工具工具提示标题尚未更改。

谢谢

Got a problem with the jquery plugin Tools tooltip (http://flowplayer.org/tools/tooltip/index.html)
I need to change the title of the element..

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

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

Html Part:

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

With my solution i got finally 2 titles, one above the other. The unstyled (ignored js), is the new one. The Tools tooltip title has not changed yet.

thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

动听の歌 2024-11-26 17:01:06

这对我有用:

$('#yourID').attr('data-original-title', 'New Message').tooltip('show').tooltip('hide');

This worked for me:

$('#yourID').attr('data-original-title', 'New Message').tooltip('show').tooltip('hide');
听闻余生 2024-11-26 17:01:06

动态更改标题的另一种解决方案是使用 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 引用事件函数上的工具提示对象

Another solution to change the title dynamically is to use the onBeforeShow event:

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 refers to the tooltip object on the event function

三五鸿雁 2024-11-26 17:01:06

除了重新初始化工具提示之外,没有什么对我有用:

        //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 几乎对我有用,但我不知道如何取消绑定事件,以便它不会在每次显示时执行。

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

Nothing worked for me but to reinitialize the tooltip:

        //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);

The previous answers involving getTip() require that the tooltip be shown at least once; otherwise, getTip() yields a null.

Using the OnBeforeShow almost worked for me, but I couldn't figure out how to unbind the event so that it wouldn't execute every single time I showed.

Changing the title did not work for me for some reason, possibly due to the fact I was using a custom layout.

雨巷深深 2024-11-26 17:01:06

尝试通过调用 jQuery 的 data("title") 方法来修改标题值。

Try to modify the title value by calling jQuery's data("title") method.

最冷一天 2024-11-26 17:01:06

我也为此苦苦挣扎。这段代码对我有用:

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

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

I also struggled with this. And this code worked for me:

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

Please note the upper case T. Lower case T will not work.

朕就是辣么酷 2024-11-26 17:01:06

对我来说最好的工具提示!此工具提示类似于 Gmail

在此处输入图像描述

位于头站点:

<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

Best tooltip for me! This tooltip like on Gmail

enter image description here

on head site:

<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">

On 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>

On Javascript codes:

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

Visit Demo jsfiddle

多孤肩上扛 2024-11-26 17:01:06

以上所有方法均不适用于最新版本的tooltipster,正确的方法是:

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

All of the above doesn't work with the latest version of tooltipster, the correct way is:

$('#help').data($('#help').data('tooltipsterNs')[0]).Content="new content";
送你一个梦 2024-11-26 17:01:05

知道了 !
根据最近版本的工具提示(从 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.

got it !
according to recently version of tooltip (as of v2.3.1) https://github.com/twitter/bootstrap/blob/master/js/bootstrap-tooltip.js#L272
you need to set the attribute (not the property) 'data-original-title' because this one is that tooltip is currently using.

It's a hack but I hope it works for you as it worked for me.

$('#example').attr('data-original-title','the new text you want'); //and that's it.
痕至 2024-11-26 17:01:05

我也要做同样的事情。我查看了工具提示插件代码,发现了更新工具提示的快速且简单的方法。该插件删除标题属性并将该内容放入名为 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';

I'm about to do the same thing. I looked through the Tooltip plugin code, and discovered as quick and easy way to update the tooltip. The plugin removes the title attribute and puts that content into an element property called tooltipText. In jQuery 1.6+, it can be manipulated like so:

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

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

The plugin sets the tooltipText property (note the capitalization) at line 55 in version 1.3. Changes done this way are instantaneous as far as I can tell.

If doing direct element manipulation, the tooltip content is at:

var e = document.getElementById('#someElement');
alert(e.tooltipText);
e.tooltipText = 'w00t';
绝情姑娘 2024-11-26 17:01:05

不知道你是否还在寻找这个问题的答案,但我刚刚花了几个小时尝试对同样的事情进行排序,并在 API 中找到了答案(一旦你找到它们,它们总是很简单!)文档。

无论您首先在哪个元素上设置工具提示,都可以从中获取工具提示 API 并设置新值。即,如果您在 id 为“myTip”的元素上设置工具提示

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

,瞧。

您不需要删除标题(并且无论如何也不应该删除,因为工具提示是延迟初始化的)。而是使用 cancelDefault 配置:

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

Don't know if you are still looking for the answer to this but I have just spent a good couple of hours trying to sort the same thing and have found the answer (simple as they always are once you find them!) in the API documentation.

Whatever the element is that you set the tooltip on in the first place, get the tooltip API from it and set the new value. i.e. if you set the tooltip on an element with id "myTip"

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

Et voila.

You shouldn't need to remove the title (and shouldn't anyway as tooltips are lazy initialised). Instead use cancelDefault configuration:

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

清晨说晚安 2024-11-26 17:01:05

所有其他选项在最新版本的 tooltipster (3.3.0) 上均不起作用
我发现这个命令有效:

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

All the other options didn't work on the last release of tooltipster (3.3.0)
I found this command work:

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

这个怎么样?

   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 中有什么?

How about this?

   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");   
    }

I don't know if it's the best approach but I think it might work for you.


Is the obj.text correct? What comes in obj.text ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文