Как уничтожить подсказку Bootstrap [дубликат]

Я бы не назвал это красивым, но вот метод, использующий map:

let numbers = ["1","2","3","4","5","6","7"]
let splitSize = 2
let chunks = numbers.startIndex.stride(to: numbers.count, by: splitSize).map {
  numbers[$0 ..< $0.advancedBy(splitSize, limit: numbers.endIndex)]
}

Метод stride(to:by:) дает вам индексы для первого элемента каждого фрагмента, так что вы можете сопоставьте эти индексы с срезом исходного массива, используя advancedBy(distance:limit:).

Более «функциональный» подход просто состоял бы в том, чтобы перезаписать массив, например:

func chunkArray<T>(s: [T], splitSize: Int) -> [[T]] {
    if countElements(s) <= splitSize {
        return [s]
    } else {
        return [Array<T>(s[0..<splitSize])] + chunkArray(Array<T>(s[splitSize..<s.count]), splitSize)
    }
}
16
задан Mosh Feu 17 April 2016 в 09:07
поделиться

5 ответов

Вы инициализировали все элементы, которые имеют атрибут data-toggle="tooltip", используя делегирование контейнера элементов (тела) ( fiddle ):

$("body").tooltip({ selector: '[data-toggle=tooltip]' });

, поэтому для того, чтобы отключите его, используя уничтожить, вам нужно сделать это на теле:

$('body').tooltip('dispose');

Если вы хотите сделать это без делегирования, вы можете инициализировать каждый из элементов ( скрипт ):

 $('[data-toggle="tooltip"]').tooltip();

и уничтожить его:

$('[data-toggle="tooltip"]').tooltip('dispose'); // used in v4
$('[data-toggle="tooltip"]').tooltip('destroy'); // used in v3 and older

Если вы все еще хотите инициализировать делегирование корыта и остановить его от работы с помощью disable ( скрипт ):

$('body').tooltip({ selector: '[data-toggle=tooltip]' });
$('body [data-toggle="tooltip"]').tooltip('disable');

Объяснение о различии между уничтожением и отключением, взятым из Ответ Жасни :

$('[rel=tooltip]').tooltip()          // Init tooltips
$('[rel=tooltip]').tooltip('disable') // Disable tooltips
$('[rel=tooltip]').tooltip('enable')  // (Re-)enable tooltips
$('[rel=tooltip]').tooltip('dispose') // Hide and destroy tooltips

Это ответ, который я получил в Bootstraps github - Поскольку вы используете делегирование (т. е. вариант селектора), я считаю, что есть только один экземпляр всплывающей подсказки (на теле). Таким образом, попытка уничтожения несуществующих экземпляров всплывающих подсказок на самих элементах триггера не влияет. Сравните не делегированную версию: http://jsfiddle.net/zsb9h3g5/1/

31
ответ дан Technotronic 19 August 2018 в 09:11
поделиться
  • 1
    странно, что «destroy» не работает ... вот что говорят их документы ... спасибо! :) – LSD 29 January 2015 в 18:42
  • 2
    Плюс один, чтобы найти это. Это было дикое предположение? – isherwood 29 January 2015 в 19:09
  • 3
    Нет, проверка кода в скрипке сделала трюк :) – Technotronic 29 January 2015 в 19:17

Чтобы уничтожить всплывающие подсказки внутри #settings, сделайте следующее:

$('#settings [data-toggle="tooltip"]').tooltip('destroy');
0
ответ дан isherwood 19 August 2018 в 09:11
поделиться

Выбранный ответ уничтожает всплывающие подсказки, чтобы они полностью исчезли, и их функциональность отключена.

Если вы просто хотите избавиться от всех всплывающих подсказок одновременно, сохраняя их функциональность, используйте $('.tooltip').remove();.

4
ответ дан kjdion84 19 August 2018 в 09:11
поделиться

Начиная с версии загрузки 4 и в соответствии с документацией, вы должны использовать dispose , поскольку destroy больше не определен. Пример приведен ниже:

$('#element').tooltip('dispose')
7
ответ дан msoliman 19 August 2018 в 09:11
поделиться
0
ответ дан Mavelo 30 October 2018 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: