Как объединить дублирующийся код jquery в один?

Здравствуйте, необходима помощь с JQuery, а точнее с библиотекой ClipboardJS и Bootstrap. На странице есть несколько кнопок для копирования данных в буфер обмена, каждая из кнопок имеет свое уникальное значение data-clipboard-text="" и соответственно id="", а так-же title, который отображается только после нажатия на кнопку.
Обрабатывается это вот этим фрагментом кода (сейчас таких фрагментов 11, и количество будет увеличиватся):
var clipboard = new ClipboardJS('#gtao-direct');
    clipboard.on('success', function(e) {
        $('#gtao-direct').tooltip('show')
    });
    var clipboard = new ClipboardJS('#gtao-html');
    clipboard.on('success', function(e) {
        $('#gtao-html').tooltip('show')
    });
    var clipboard = new ClipboardJS('#gtao-bbcode');
    clipboard.on('success', function(e) {
        $('#gtao-bbcode').tooltip('show')
    });

Суть вопроса, можно ли объединить это в один фрагмент? Т.е. при нажатии брать ID (или другой data- атрибут) и вызывать tooltip исключительно для него.

Спасибо!
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
locky_yotun
@locky_yotun Куратор тега JavaScript
Я видел некоторый джаваскрипт
$('[data-clipboard-text]').each(function() {
    var $this = $(this);
    var id = $this.attr('id');
    var clipboard = new ClipboardJS(id);

    clipboard.on('success', function() {
        $this.tooltip('show')
    });
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Оно?
$("[data-clipboard-text]").on('click', function(e){
e.preventDefault();
...
})

и вызывать tooltip исключительно для него.
Судя по всему, понятия this и контекста для вас в новинку...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы