Страница 1 из 1

Вопрос по 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), чтобы в нём изменить какое-то свойство?

Вопрос по jQuery

Добавлено: 2016-07-22 8:53:32
Alex Keda
а идентификатора у него нету?

Вопрос по jQuery

Добавлено: 2016-07-22 11:19:14
Духовитин
у объекта на странице есть, мне надо получить доступ к структурам компонента jQuery который навешан на этот dom элемент.

Вопрос по jQuery

Добавлено: 2016-07-22 22:55:26
Alex Keda
х.з... если тока идентификатор куда-то там всунуть и по нему

Вопрос по jQuery

Добавлено: 2016-07-22 22:55:26
Alex Keda
х.з... если тока идентификатор куда-то там всунуть и по нему

Вопрос по 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;
});

Вопрос по jQuery

Добавлено: 2023-04-03 18:15:56
Kolya07
Иногда, при добавлении на уже имеющийся сайт каких-либо новых скриптов на jQuery, может возникнуть конфликт с уже имеющимися на сайте скриптами, в результате чего некоторые скрипты могут работать не верно, либо не работать вообще.

Случается это из-за того, что некоторые JavaScript библиотеки, так же как и библиотека jQuery используют знак как имя переменной или функции. Однако, в случае jQuery, является синонимом алиасом идентификатора jQuery. Поэтому, при освобождении имени с помощью jQuery.noConflict мы не теряем функциональности библиотеки jQuery, поскольку можем использовать вместо него синоним jQuery.

Освобождать переменную , чтобы избежать конфликтов имен следует следующим образом:
Код: