пытаясь использовать плагин подсказки jquery, у объекта нет метода «подсказка» - PullRequest
6 голосов
/ 30 сентября 2011

Я использую эту подсказку: http://flowplayer.org/tools/demos/tooltip/index.html

В моем html-файле есть следующие строки:

<script src="/javascripts/home.js" type="text/javascript"></script>
<script src="http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/scripts/jquery.min.js"></script>

<div id="boo">
<img src="image1.jpg" title="this thing is a tool"/>
<img src="image2.jpg" title="this thing is also tool"/>
</div>

В моем файле home.js есть следующая строка:

$("#boo img[title]").tooltip();

У меня есть следующая строка в моем css-файле:

.tooltip {
    display:none;
    background:transparent url(/tools/img/tooltip/black_arrow.png);
    font-size:12px;
    height:70px;
    width:160px;
    padding:25px;
    color:#fff; 
}

Я получаю эту ошибку:

Uncaught TypeError: Object [object Object] has no method 'tooltip'

Я в своем уме.Я чувствую, что точно следовал примеру на сайте, но понятия не имею, что происходит.

Ответы [ 3 ]

11 голосов
/ 30 сентября 2011

Вы должны изменить порядок файлов js:

<script type="text/javascript" src="/scripts/jquery.min.js"></script>
<script src="http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js" type="text/javascript"></script>
<script src="/javascripts/home.js" type="text/javascript"></script>

Еще немного объяснений для тех, у кого возникла эта проблема:

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

3 голосов
/ 16 августа 2012

Эта проблема тоже возникла, и это было из-за старой версии jquery, потерянной в папке с исходниками, была jquery v1.6.2.Если это может кому-то помочь ... Хорошего дня!

1 голос
/ 30 сентября 2011

Wrap $("#boo img[title]").tooltip(); in $(function(){ });, поэтому вы получите:

$(function(){
    $("#boo img[title]").tooltip();
});

Почему:

$(function()... - это короткий путь для выполнения этого кода в событии domReady. Таким образом, в этот момент все файлы jquery и страница будут загружены достаточно далеко, чтобы ваш JavaScript работал.

...