Что нового

Как передать значение id в tooltipster? (1 Viewer)

  • Автор темы Oleksandr Miroshnichenko
  • Дата начала
Oleksandr Miroshnichenko

Oleksandr Miroshnichenko

Участник
Регистрация
30 Июл 2021
Сообщения
40
Реакции
59
Раньше использовался bootstrap popover, решил сменить на tooltipster т.к. у него больше функционал, да и нет зачем подгружать целую либу бустрапа только из-за одного popover.
Подключил, настроил, все работает отлично, но возникла одна проблема: не могу передать значение из аттрибута.
Ключевые части кода:
<div class="thumbnail" data-toggle="popover" data-video-id="86122">
$('[data-toggle="popover"]').tooltipster({
theme: 'tooltipster-shadow',
animation: 'fade',
delay: 1800,
trigger: 'hover',
contentAsHTML: true,
content: 'Загрузка',
side: 'right',
interactive: true,
maxWidth: 380,
minWidth: 380,
functionBefore: function(instance, helper) {
var $origin = $(helper.origin);
var video_id = $(this).data('video-id');

Полнофункциональная демка со всеми подключенными библиотеками:
 
Последнее редактирование:
Полнофункциональная демка со всеми подключенными библиотеками
ответ прост, ты обращаешься с указателем this на функцию functionBefore, а не на $('[data-toggle="popover"]')
поэтому замени var video_id = $(this).data('video-id'); на var video_id = $('[data-toggle="popover"]').data('video-id');
 
ответ прост, ты обращаешься с указателем this на функцию functionBefore, а не на $('[data-toggle="popover"]')
поэтому замени var video_id = $(this).data('video-id'); на var video_id = $('[data-toggle="popover"]').data('video-id');
Тогда video_id будет равно значению атрибута video-id, первого элемента [data-toggle="popover"] на странице, а не текущего к которому прикреплен tooltipster.
 
Переделать просто функционал под поиск, к примеру так:
JavaScript:
$(document).find('[data-toggle="popover"]').each((e) => {

    $(e).tooltipster({
...
})
});
e - это элемент, к котрому нужно в последствии обращаться, если нужно достать оттуда данные
 
Тогда video_id будет равно значению атрибута video-id, первого элемента [data-toggle="popover"] на странице, а не текущего к которому прикреплен tooltipster.
Отбой.
замени var video_id = $(this).data('video-id'); на var video_id = $($origin).data('video-id');
Всё
 

Пользователи, просматривающие данную тему

Верх