Подтвердить что ты не робот

Инструмент подсказки jQuery - Изменить заголовок

Появилась проблема с подсказкой инструментов jquery plugin Tools (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) новый. Заголовок всплывающей подсказки инструментов еще не изменился.

Благодарю вас

4b9b3361

Ответ 1

Я собираюсь сделать то же самое. Я просмотрел код плагина Tooltip и обнаружил его как быстрый и простой способ обновить всплывающую подсказку. Плагин удаляет атрибут title и помещает этот контент в свойство элемента, называемое tooltipText. В jQuery 1.6+ его можно манипулировать так:

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

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

Плагин устанавливает свойство tooltipText (обратите внимание на капитализацию) по строке 55 в версии 1.3. Изменения, сделанные таким образом, являются мгновенными, насколько я могу судить.

Если вы выполняете непосредственную манипуляцию с элементами, содержимое всплывающей подсказки находится по адресу:

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

Ответ 2

получил это! в соответствии с последней версией всплывающей подсказки (начиная с версии 2.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 it.

Ответ 3

Не знаю, если вы все еще ищете ответ на этот вопрос, но я просто потратил пару часов, пытаясь разобрать то же самое и нашел ответ (простой, как всегда, когда вы их найдете!) в документации по API.

Независимо от того, что вы указали во всплывающей подсказке, вы получите API-интерфейс всплывающей подсказки и установите новое значение. т.е. если вы установите всплывающую подсказку на элемент с идентификатором "myTip"

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

Et voila.

Вам не нужно будет удалять заголовок (и все равно не нужно, поскольку всплывающие подсказки ленивы инициализируются). Вместо этого используйте функцию cancelDefault:

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

Ответ 4

Все остальные опции не работали в последней версии tooltipster (3.3.0) Я нашел эту команду:

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

Ответ 5

Как насчет этого?

   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?

Ответ 6

Другим решением для динамического изменения названия является использование события 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 ссылается на объект всплывающей подсказки на функцию события

Ответ 7

Ничего не работало для меня, но для повторной инициализации всплывающей подсказки:

        //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() дает нуль.

Использование OnBeforeShow почти сработало для меня, но я не мог понять, как отвязать событие, чтобы он не выполнялся каждый раз, когда я показывал.

Изменение названия не помогло мне по какой-то причине, возможно, из-за того, что я использовал пользовательский макет.

Ответ 8

Попробуйте изменить значение заголовка, вызвав метод jQuery data ( "title" ).

Ответ 9

Я также боролся с этим. И этот код работал у меня:

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

Обратите внимание на верхний регистр T. Нижний регистр T не будет работать.

Ответ 10

Лучшая подсказка для меня! Эта подсказка, например, в 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

Ответ 11

Все вышеперечисленное не работает с последней версией tooltipster, правильный способ:

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

Ответ 12

Это сработало для меня:

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

Ответ 13

Используйте это: $ (селектор).attr("data-original-title", "ваш текст подсказки!");