Ограничить всплывающую подсказку для запуска на всех страницах

Как я могу убедиться, что моя функция всплывающей подсказки не должна срабатывать на всех страницах, а также найти подсказку на тех страницах, где у меня нет всплывающей подсказки, и в конце концов выдать ошибку в консоли, говоря:

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

HTML<i class="fa fa-info-circle" data-toggle="tooltip" data-placement="bottom" title="Sample Tip"></i>

Ошибка на страницах без тега подсказки

Uncaught TypeError: $(...). Подсказка не является функцией

В настоящее время я добавил этот код в мастер JS, на который ссылаются на всех страницах

2 ответа

Решение

В вашем master.js просто проверьте, если tooltip() существует до вызова этого:

if ($.fn.tooltip) {
    $('[data-toggle="tooltip"]').tooltip();
}

Я не уверен, что правильно понял ваш вопрос,

Одна вещь, которую я мог бы попробовать, это добавить класс на страницы, где вы не хотите, чтобы показывались подсказки, а затем уничтожить эти подсказки, т.е.

<body class="no-tooltip"> ...
<script>$('body.no-tooltip').tooltip('destroy')</script>

Другой, и, возможно, лучший вариант, это перевернуть его, и в вашем файле master.js вызвать всплывающую подсказку () только на страницах, которые имеют это <body class="hastooltip"> и вместо тебя орг функции используй

$(function () {
    $('body.hastooltip [data-toggle="tooltip"]').tooltip()
})
Другие вопросы по тегам