Ошибка плагина jQuery Tooltip - PullRequest
       31

Ошибка плагина jQuery Tooltip

0 голосов
/ 15 января 2011

Я написал этот код, чтобы применить плагин jQuery Tooltip к элементам, загруженным ajax.

Я имею в виду, что строка, которую я хочу показать при наведении курсора, загружается на страницу с помощью ajax. вот код:

$("[id^=pane]").delegate("[id^=comm]","mouseover",function() {

   $(this).tooltip({

      // each trashcan image works as a trigger
      tip: "#tooltip",
      // custom positioning
      position: "center right",
      // move tooltip a little bit to the right
      offset: [0, 15],
      // there is no delay when the mouse is moved away from the trigger
      delay: 0
  }).dynamic({ bottom: { direction: "down", bounce: true } });

});

всплывающая подсказка отображается при наведении мыши, но firebug сообщает об этой ошибке:

"$ (this) .tooltip ({tip:" #tooltip ", позиция:" center right ", смещение: [0, 15], delay: 0}). Dynamic не является функцией"

это из-за использования $ (this) ???

Ответы [ 2 ]

2 голосов
/ 15 января 2011

Проблема в том, что вы не загрузили функцию dynamic. Из документации по инструментам jQuery :

динамический плагин и эффект слайда не включены в стандартный дистрибутив jQuery Tools. Вы должны загрузить пользовательскую комбинацию , чтобы включить эти эффекты.


Кроме того, вам не нужен ваш delegate звонок. Вы переделываете создание tooltip при каждом наведении мыши. Вам нужно сделать это только один раз; плагин будет обрабатывать события внутри.

$("[id^=pane] [id^=comm]").tooltip({/*...*/})
       .dynamic({/*...*/});

Выбирает все элементы с идентификаторами, начинающимися comm, которые являются потомками элементов с идентификаторами, начинающимися pane. Обратите внимание, что добавление соответствующих классов ко всем этим элементам значительно ускорит ваш выбор.

0 голосов
/ 16 января 2011

это решено сейчас, я искал больше в Google и нашел решение.

вот оно:

$("[id^=pane]").delegate("[id^=comm]:not(.hastooltip)","mouseover",function() {
    $(this).addClass("hastooltip").tooltip({
        tip: "#tooltip",
        position: "bottom center",
        offset: [-10, 0],
        delay: 0
    }).dynamic({ bottom: { direction: "down", bounce: true } }).mouseover();
});
...