Инструмент подсказки 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) новый. Заголовок всплывающей подсказки инструментов еще не изменился.
Благодарю вас
Ответы
Ответ 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", "ваш текст подсказки!");