Необходимость иметь серию значков на странице, которая переключает их поведение при нажатии. Каждый значок действия содержит всплывающую подсказку, которая отражает действие, которое необходимо предпринять в каждом из двух состояний.наконечник бутстрапа не прикрепляется к кнопке, на которую нажимается
вот пример значка действия.
<span name="no_quote_action" class="btn btn-xs btn-action " style="border: none"
rel="tooltip" data-placement="right" data-trigger="hover"
title="No-Quote this line" onclick="setNoQuote(this)">
<span class="glyphicon glyphicon-remove" style="color: #ff0000"></span>
</span>
На странице есть тег сценария, который описывает два действия.
<script>
function setNoQuote(_this) {
var button = $(_this);
button.children().attr('class', 'glyphicon glyphicon-plus');
button.children().css('color', '#00ff00');
button.attr('onclick', 'setDoQuote(this)');
button.tooltip('destroy');
// button.attr('data-original-title', 'Undo No-Quote');
button.attr('title', 'Undo No-Quote');
setTips();
}
function setDoQuote(_this) {
var button = $(_this);
button.children().attr('class', 'glyphicon glyphicon-remove');
button.children().css('color', '#ff0000');
button.attr('onclick', 'setNoQuote(this)');
button.tooltip('destroy');
// button.attr('data-original-title', 'No-Quote this line');
button.attr('title', 'No-Quote this line');
setTips();
}
function setTips() {
$('[rel="tooltip"]').tooltip({html: true});
}
$(window).load(function() {
setTips();
});
Проблема я вижу в том, что, в то время как значок меняется, и предыдущая подсказка разрушено, setTips();
вызова успешно не добавить новую подсказку к иконе, которая была нажата. Это похоже на проблему с синхронизацией или что-то еще, потому что вызов setTips()
вручную после завершения события работает должным образом.
Ниже приведена полная страница примеров HTML, которая демонстрирует проблему.
Следует также отметить, нажав в быстрой последовательности будут давать разные результаты.
Пожалуйста, помогите мне понять, что происходит и почему. Какую наилучшую практику я должен использовать, чтобы избежать таких проблем?
Duplicate of: http://stackoverflow.com/questions/22064881/refresh-an-element-so-its-new-tooltip-shows-in-jquery-javascript «Перезагрузка всплывающих подсказок по щелчку» – circusdei
Этот вопрос wasn о том, как перезагрузить всплывающую подсказку. Если вы прочтете мой ответ, вы увидите, что проблема связана с потоком событий, на котором вызывается обновление всплывающей подсказки. – BitLagoon