Подсказка (qTip) не закрыта, jQuery - PullRequest
0 голосов
/ 10 декабря 2010

со следующим кодом qTip работает для меня и генерирует всплывающие подсказки:

$('a.ppname[rel]').live('mouseover', function() {
    $(this).qtip( {
     content : {
      url : $(this).attr('rel')
     },
     position : {
      corner : {
       tooltip : 'leftBottom',
       target : 'rightBottom'
      }
     },
     style : {
      border : {
       width : 5,
       radius : 10
      },
      padding : 10,
      textAlign : 'center',
      tip : true, // Give it a speech bubble tip with
      // automatic corner detection
      name : 'cream' // Style it according to the preset
     // 'cream' style
     }

    });
  });
 });

Но qTip не удаляется из домена, ну иногда он просто исчезает и появляется снова, и я получаюмножество открытых всплывающих подсказок:

alt text

Я посмотрел на дом, кажется, что qtip не удаляется, а просто устанавливается невидимым.Мне нужна простая логика, чтобы уничтожить подсказку.Например, если a.ppname было сфокусировано и больше не сфокусировано, я мог бы уничтожить его.Но как это будет выглядеть в JavaScript?Любые идеи?

Обновление : Я понизил свой jQuery до 1.3.2 , рекомендуемого для qTip .У меня нет подсказок, которые больше не открыты, но теперь есть еще одна проблема:

alt text

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

Обновление : при использовании

$('a.ppname[rel]').each(function(){

в первой строке кода проблема решена.Но это приводит к другой проблеме. Другая проблема, которую я здесь опишу Подсказка qTip не появляется, jQuery .кажется, дилемма ^: D

Ответы [ 2 ]

2 голосов
/ 10 декабря 2010

Я думаю, что вы хотите

$('a.ppname[rel]').qtip({
   content : {stuff},
   style : {stuff},
   position: {stuff},
   show: 'mouseover',
   hide: 'mouseout'
})
1 голос
/ 10 декабря 2010

Вы можете удалить подсказку из DOM, вызвав метод destroy, когда подсказка скрыта. Попробуйте это (спасибо Мэтту за его пример, который я скопировал и исправил):

$('a.ppname[rel]').qtip({
   content : {stuff},
   style : {stuff},
   position: {stuff},
   show: 'mouseover',
   hide: 'mouseout',
   onHide: function() { $(this).qtip('destroy'); }
});
...