2013-07-30 5 views
11

Я пытаюсь создать подсказку jQuery UI, но она продолжает закрываться. Я пробовал следующее без успеха:jQuery UI держит всплывающую подсказку открытой для отладки (для ее стилизации)

$("td label").tooltip({ 

    disabled: true, 
    close: function (event, ui) { return false; } 

}).on("click", function() { 

    $(this).tooltip("open"); 
}).off('focusout mouseleave mouseenter'); 

Ничто не оставляет его открытым. Когда я нажимаю правой кнопкой мыши на него, чтобы перейти к Firebug, он исчезает, прежде чем у меня появится шанс.

+0

Что делать, если вы не указали это off («focusout mouseleave mouseenter»); – TGH

+0

Нет, все равно исчезает. – parliament

ответ

17

Вызов открытый метод на ваших подсказках, что сделает их остаются открытыми

$("td label").tooltip().tooltip("open"); 
+0

Обратите внимание, что это работает только с не делегированными всплывающими подсказками. См. Http://stackoverflow.com/a/14881045/7376 для другого варианта. – Tom

12

Если это только для целей отладки, почему бы не использовать the hide option и установить действительно долгую продолжительность.

$("td label").tooltip({ hide: {duration: 1000000 } }); 
+1

Или используйте 'delay', например:' hide: {delay: 1000000} '. – Pang

1

Оба предыдущих ответов не помог мне, как один не работает на не делегированных подсказках, тогда как с другим методом я не мог играть с CSS в панели dev. Всплывающая подсказка осталась открытой, но я не мог снять флажки с любого CSS, как обычно, или набрать больше CSS - чтобы получить решение до его реализации.

В конечном итоге я использовал инструкцию отладчика для разрыва в моем коде после вскрытия всплывающей подсказки.

Пример:

jQuery(".myElement").tooltip({ 
    open: function (event, ui) {    
      debugger; 
    } 
}); 

Когда точка останова хит, оценить это в консоли:

$(".ui-tooltip-content") 

А затем щелкните правой кнопкой мыши по результатам оценки в консоли и выберите Reveal в Elements панели работайте с ним, как и любой другой элемент на странице. Это особенно полезно при динамическом построении содержимого подсказки (как в моем случае).

10

Гораздо лучший вариант - приостановить выполнение js.

  1. Open Console
  2. Переключить на закладке Источники
  3. Hover что-то для подсказки появится
  4. кнопку F8 Click (может отличаться, наведите на значок паузы, чтобы проверить горячую клавишу)
+0

Это правильный ответ только для целей отладки. Никаких изменений кода. – Kelly

+0

Это должен быть принятый ответ, поскольку код не изменяется! – equitharn

+0

Большое спасибо, теперь это кажется очевидным ... но я потратил немного времени на отладку функции автозаполнения jquery-ui, которая исчезает при любом нажатии. –

1

Для v4.1.5 tooltipster использует параметр задержки, подобный этому.

$('.tooltip').tooltipster({ 
    interactive:true, 
    animation: 'grow', 
    delay:[100, 10000000] 
}); 

Второе значение задержки указывает задержку закрытия для всплывающей подсказки. Ссылка: http://iamceege.github.io/tooltipster/#options

 Смежные вопросы

  • Нет связанных вопросов^_^