Вопрос по jQuery

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Духовитин
мл. сержант
Сообщения: 100
Зарегистрирован: 2014-12-17 8:46:05

Вопрос по jQuery

Непрочитанное сообщение Духовитин » 2016-07-20 18:49:35

Уважаемые, не подскажете, возможно ли, или как сделать такую херню в jQuery.

Есть допустим какой-то jQuery компонент, допустим всплывалки-пояснялки для элементов страницы, замена всплывалке по параметру title="..." у произвольного html объекта.
Работает он так:


А у этого компонента допустим можно ещё определять действия на события какие-либо, допустим есть событие onShow() - которое вызывается при всплывании пояснялки, и его можно задать при изначальной активации компонента на коллекции элементов так:

Код: Выделить всё

//Биндим компонент для всех элементов с установленным параметром title на страничке.
//И ещё описываем реакцию на всплывание
$("[title]").tooltip({
    backgroundColor:    #ff8888,
    delay:         300,
    onShow:        function(){
                        alert("Всплыла!");
                   }
});

Большинство если не все jQuery компоненты таким образом биндятся/активируются. У меня вопрос, как у конкретного элемента странички с прибитым к нему компонентом, произвольно изменить свойство или метод. Типа такой задачи:
При каких-то так условиях, мне надо у каких-то элементов со всплывалками/пояснялками изменить цвет фона. Например в зависимости от длины текста

Код: Выделить всё

//Биндим компонент для всех элементов с установленным параметром title на страничке.
//И ещё описываем реакцию на всплывание
$("[title]").tooltip({
    backgroundColor:    #ff8888,
    delay:         300,
    onShow:        function(){
                        alert("Всплыла!");
                   }
});

//Неправильное описание решения, просто для иллюстрации того, что я спрашиваю:
//Хочу уже после того как все всплывалки-пояснялки активированы, для некоторых сменить цвет фона:
$("[title]").each(function(){
   if($(this).attr("title").toString().length>5){
      //Собственно что я спрашиваю, как сделать это:
      $(.....).backgroundColor="#ffffff";
   }
});

Как описать доступ к tooltip объекту навешеному на $(this), чтобы в нём изменить какое-то свойство?
Кто не рискует - тот не пьёт шампанского.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 34889
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Вопрос по jQuery

Непрочитанное сообщение Alex Keda » 2016-07-22 8:53:32

а идентификатора у него нету?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 100
Зарегистрирован: 2014-12-17 8:46:05

Вопрос по jQuery

Непрочитанное сообщение Духовитин » 2016-07-22 11:19:14

у объекта на странице есть, мне надо получить доступ к структурам компонента jQuery который навешан на этот dom элемент.
Кто не рискует - тот не пьёт шампанского.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 34889
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Вопрос по jQuery

Непрочитанное сообщение Alex Keda » 2016-07-22 22:55:26

х.з... если тока идентификатор куда-то там всунуть и по нему
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 34889
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Вопрос по jQuery

Непрочитанное сообщение Alex Keda » 2016-07-22 22:55:26

х.з... если тока идентификатор куда-то там всунуть и по нему
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 100
Зарегистрирован: 2014-12-17 8:46:05

Вопрос по jQuery

Непрочитанное сообщение Духовитин » 2016-07-25 10:14:51

Так в итоге решил: Просто приходится лезть в код этого компонента jQuery и смотреть как там реализованы все эти свойства и методы. И затем к ним уже получать доступ из своего кода. В моём случае это сделалось так:

Код: Выделить всё

//Изначальное навешиване на объекты странички
$('[title]').tooltipster('backgroundColor':   '#cccccc');

//Смена фона у нужных элементов.
$('[title][isActive=1]').each(function(){
   var opts  = $(this).data('tooltipster-opts');
   opts.backgroundColor="#ffffff";
   return true;
});
Кто не рискует - тот не пьёт шампанского.


Вернуться в «PHP, PERL, JS, HTML...»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость