2014-02-01 1 views
0

Я использую jQuery UI tooltip с элементом div, который после выбора меняет фоновое изображение. Выбор также выполняется через пользовательский интерфейс jquery. При наведении курсора на элемент подсказка отображается так, как ожидалось, но при выборе элемента всплывающая подсказка закрывается мышью и снова открывается при помощи мыши, что приводит к нежелательному мерцанию. Как я могу избежать этого мерцания? Я предпочитаю не использовать задержку при закрытии всплывающей подсказки, поскольку это приводит к другим нежелательным эффектам.Как сохранить всплывающую подсказку при закрытии на мышь вниз

Код (несколько упрощенный):

$('#myDiv').tooltip({ 
     tooltipClass: 'myTooltip', 
     track: true, 
     show: null, 
     hide: null, 
     position: { my: "left+15 top+25", at: "right bottom" } 

}); 


setUpSelectable = function (id, filterType, selVar, funCB) { 
    $(id).selectable({ 
     filter: filterType, 
     selected: function (event, ui) { 
      // Select new element 
      if (selVar.val == null || selVar.val.attr('id') !== $(ui.selected).attr('id')) 
       selVar.val = $(ui.selected); 
      else { // toggle already set element. 
       selVar.val.removeClass("ui-selected"); 
       selVar.val = null; 
      } 
     }, 
     stop: function (event, ui) { 
      // Remove all the other selected elements -> no multi select 
      if (selVar.val != null) 
       selVar.val.siblings().removeClass("ui-selected"); 

      // callback 
      (funCB()); 
     } 
    }); 
}; 

CSS:

.myTooltip { 
position: absolute; 
z-index: 9999; 
width: 80px; 
height: 20px; 
box-shadow: -3px 3px 5px; 
text-shadow: 1px 1px #000000; 
border-radius: 6px; 
text-align:center; 
color: #9F9270; 
background: none repeat 0 0 rgba(0, 0, 0, 0.9); 
line-height: 20px; 
vertical-align:middle; 
font-size: 12px;  
} 
+0

положить ваш с ода здесь. В подсказке jQuery нет такой проблематики, как вы говорите. Таким образом, вы должны настроить эту подсказку неправильно. – Foreever

+0

Я добавил базовый код в приведенное выше изменение. – Beza

+0

Было бы здорово, если бы вы могли поделиться jsfiddle. – Foreever

ответ

0

Вы можете открыть свою первоначальную подсказку себя программно:

http://api.jqueryui.com/tooltip/#method-open

$('.yourdiv').on('mousedown',function(){ 
    $('.yourtooltip').tooltip('open'); 
}) 
+0

Благодарим вас за предложение, но, к сожалению, это не устраняет проблему. – Beza

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

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