2013-07-30 16 views
11

Próbuję nadać styl etykietce interfejsu użytkownika jQuery, ale wciąż się zamyka. Próbowałem następujących bez powodzenia:jQuery UI pozostawić otwartą etykietkę narzędziową do debugowania (do stylu)

$("td label").tooltip({ 

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

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

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

Nic nie wydaje się, aby to otworzyć. Kiedy kliknę prawym przyciskiem myszy, aby przejść do Firebug, zniknie, zanim będę miał szansę.

+0

Co się stanie, jeśli tego nie określisz ("focusout mouseleave mouseenter"); – TGH

+0

Nie, nadal znika. – parliament

Odpowiedz

17

połączeń otwarta metoda na swoim podpowiedzi, które pozwoli im pozostać otwarte

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

Uwaga: działa to tylko z nie delegowanymi etykietami narzędzi. Zobacz http://stackoverflow.com/a/14881045/7376 dla innej opcji. – Tom

12

Jeśli jest to tylko w celu debugowania, dlaczego nie używać the hide option i ustawić naprawdę długi czas.

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

Lub użyj 'delay', tak jak poniżej:' hide: {delay: 1000000} '. – Pang

1

Oba poprzednich odpowiedzi mi nie pomaga, jak jeden nie działał na podpowiedzi non-delegowanych mając na uwadze, że przy innej metodzie nie mogłem bawić się CSS w panelu dev. Etykieta narzędzia pozostała otwarta, ale nie mogłem odznaczyć żadnych pól wyboru w stosunku do żadnego CSS, jak normalnie, lub wpisać więcej CSS - aby uzyskać rozwiązanie przed jego wdrożeniem.

Ostatecznie użyłem oświadczenia debuggera do złamania mojego kodu po otwarciu etykiety narzędzia.

Przykład:

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

Kiedy ten punkt przerwania jest trafiony, oceniać to w konsoli:

$(".ui-tooltip-content") 

a następnie kliknij prawym przyciskiem myszy na wynikach oceny w konsoli i wybierz Reveal w panelu Elementy do pracować z nim tak jak każdy inny element na stronie. Jest to szczególnie przydatne, gdy treść podpowiedzi jest konstruowana dynamicznie (tak jak w moim przypadku).

10

Znacznie lepiej jest wstrzymać wykonywanie js.

  1. Otwarte Konsola
  2. Przełącz do Źródeł zakładka
  3. Hover coś dla podpowiedzi pojawiają
  4. kliknąć przycisk F8 (może być różny, najedź na ikonę pauzy, by sprawdzić skrótu)
+0

To jest właściwa odpowiedź tylko do celów debugowania. Bez modyfikacji kodu. – Kelly

+0

powinno to być zaakceptowaną odpowiedzią, ponieważ żaden kod nie został zmodyfikowany! – equitharn

+0

Big Dziękuję, teraz wydaje się oczywiste ... ale straciłem trochę czasu, próbując debugować funkcję autouzupełniania jquery-ui, która znika z każdym kliknięciem. –

1

Dla v4.1.5 z tooltipera użyj opcji opóźnienia w ten sposób.

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

Druga wartość opóźnienia określa opóźnienie zamknięcia dla etykiety narzędzi. Odniesienie: http://iamceege.github.io/tooltipster/#options