JQuery Cluetip ломается при загрузке более одного раза - PullRequest
0 голосов
/ 13 сентября 2010

Я использую плагин jQuery cluetip в среде портала, где на странице портала может быть несколько экземпляров портлета.Каждый портлет - это свое собственное приложение, поэтому он ничего не знает о других портлетах.Каждый портлет должен использовать плагин cluetip, поэтому он загружает его тогда, когда это необходимо.Проблема в том, что когда скрипт cluetip загружается более одного раза, он генерирует следующую ошибку:

$cluetip is undefined

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

if(jQuery.cluetip), if(jQuery().cluetip), if(jQuery.fn.cluetip), if(jQuery().fn.cluetip)

и ни один из них не работает.Все они возвращают undefined.

Как я могу проверить, загружен ли плагин или нет?Или есть другое решение, которое я могу реализовать?

Ответы [ 2 ]

0 голосов
/ 13 сентября 2010

Глядя на источник с сайта cuetip:

<script type="text/javascript">
$(document).ready(function() {
  $('a.tips').cluetip();

  $('#houdini').cluetip({
    splitTitle: '|', // use the invoking element's title attribute to populate the clueTip...
                     // ...and split the contents into separate divs where there is a "|"
    showTitle: false // hide the clueTip's heading
  });
});
</script>
<link rel="stylesheet" href="jquery.cluetip.css" type="text/css" />

Следует отметить, что первое, что загружается, это jQuery.js, за которым следует cuetip.

Убедитесь, что ваш html выглядит одинаково, и убедитесь, что cuetip AND jQuery загружаются нормально.

0 голосов
/ 13 сентября 2010

Используете ли вы cluetip внутри функции готовности документа?

$(function() {
  $('a.tips').cluetip();
});

Не похоже, что вы используете cluetip правильно, основываясь на коде, который вы опубликовали выше.Вам действительно не нужно проверять, загружен ли плагин.Если у вас есть скрипт в заголовке:

<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.cluetip.js" type="text/javascript"></script>

, тогда вам просто нужно выбрать то, что вы хотите, чтобы иметь подсказку ('a.tips') в моем примере выше, и он должен просто работать.

Если вы разместите свой Javascript и HTML, я могу дать вам лучший ответ.

...