jquery типичный плагин.навеселе это не функция - PullRequest
3 голосов
/ 18 апреля 2011

Я пытаюсь использовать подсказку для отображения подсказок на моей странице jsp.Я скопировал скрипт и css, а также файл изображения в каталоги script, css и image и включил их в заголовок моей страницы.

<script type="text/javascript" src="../scripts/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="../scripts/jquery.tipsy.js"></script>
        <link rel="stylesheet" href="../_templates/css/tipsy.css"   type="text/css" />

Я добавил подсказку для инструмента тестирования

<a id='example-1' href='#' title='Hello World'>Hover over me</a>

Я попытался добавить функцию tipy к моему как в window.load, так и в готовом документе.

$(window).load(function() {
    alert("window load occurred!");
    $('#example-1').tipsy();
});

В любом случае, Firefox, используя firebug для отладки, получаю ошибку:

$("#example-1").tipsy is not a function

Я могу использовать вкладку «Сценарий» в Firebug для просмотра jquery.tipsy.js.Итак, я знаю, что файл загружается.IE сообщает об ошибке: «Объект не поддерживает это свойство или метод».

Я пробовал использовать версию tipy 0.1.7, загруженную с веб-сайта.

http://onehackoranother.com/projects/jquery/tipsy/#notes

Я также попробовал версию 1.0.0a, доступную для загрузки через github.Оба показывают такое же поведение.Я попытался объединить это на 2 разных страницах.1 страница использует только jquery, другая страница успешно использует другие виджеты и плагины jquery ui, включая datepicker, accordion, autocomplete, json2.

Есть идеи о том, что мне не хватает?Все посты и указания, которые я нашел для навеселе, звучат как «все, что вам нужно сделать, это ...»

Ответы [ 3 ]

2 голосов
/ 15 августа 2012

Я знаю, что это старый вопрос, но у меня была похожая проблема с типси.Части моей страницы изменяются с помощью функции jQuery load ().Я загружаю страницы, которые используют обозначение для включения tipsy.js.Я также вижу, что firefox включает в себя tipy в окне Net, но при попытке запустить .tipsy () он говорит: «tipsy - это не функция».Я жду, чтобы вызвать tipsy () для document.ready (), но по-прежнему не работает по какой-то причине.Кажется, что все это работает без сбоев в Chrome, так что только для Firefox я добавил:

if ($.browser.mozilla)
{
    $.getScript("pathtotipsy/tipsy.js", function(data, textStatus, jqxhr) {
         $("#foo").tipsy();
         console.log('Success tipsy.js loaded !');
    });
}

Это просто снова загружает навеселе и по какой-то причине теперь работает.Надеюсь, у кого-то есть лучшее решение для этого.

2 голосов
/ 18 апреля 2011

Я бы предложил изменить $(window).load(...) на $(document).ready(...).

Возможно, этот код javascript пытается быть запущен до загрузки tipsy.js.Выполнение $(document).ready(..) предотвратит это, если не вызывать .tipsy() до тех пор, пока страница не загрузится полностью.

1 голос
/ 12 мая 2015

Только мое решение и проблема.Как я узнал позже, библиотека jquery была загружена два раза.

Это привело к тому, что типсы и другие функции не работали, т.е. они были undefined.

...