2016-01-29 7 views
7

На моем сайте у меня есть несколько кнопок. Когда пользователь нажимает кнопку, открывается модальный. Когда пользователь нажимает кнопку, отображается всплывающая подсказка.Бутстрап кнопка подсказка скрыть на клик

ли использовать этот код:

<button type="button" rel="tooltip" title="Tooltip content" class="btn btn-sm btn-default" data-toggle="modal" data-target="#DeleteUserModal"> 
    <span class="glyphicon glyphicon-remove"></span> 
</button> 

<div>modal</div> 

<script> 
$(document).ready(function(){ 
    $('[rel="tooltip"]').tooltip(); 
}); 
</script> 

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

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

+0

use $ ('[rel = tooltip]'). Tooltip ('disable') в вашей функции onclick –

ответ

19

Исправлена ​​ошибка при использовании.

$(document).ready(function(){ 
    $('[rel=tooltip]').tooltip({ trigger: "hover" }); 
}); 

Проблема заключалась в том, что фокусировка остается на кнопке, когда модальная функция открыта. Изменение триггера для зависания решает проблему.

+1

Это помогает, но у меня все еще есть аналогичная проблема с всплывающей подсказкой всплывающего окна. На кнопке с выпадающим списком у меня есть подсказка на кнопке, и когда вы нажимаете на нее, выпадающее меню отображается, но всплывающая подсказка остается видимой, искушая $ ('body'). Щелкните (скрыть все подсказки) – Prof83

+0

Nice. Он решил проблему. – Ashis

0

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

+0

Я попробовал обернуть кнопку

и удалить всплывающую подсказку с самой кнопки. Тот же эффект. – Mbrouwer88

+0

Добавить 'data-toggle =" tooltip "' не использовать rel. – mokiSRB

+0

Извините, тот же эффект. Кажется, что «фокус» остается на кнопке, потому что он был нажат. Я все еще вижу «свечение» вокруг кнопки в фоновом режиме, когда модаль открыт. – Mbrouwer88

4

Вы должны открыть модально вручную с помощью функции щелчка и скрыть всплывающую подсказку вручную через jquery. Так что берите модальное переключение атрибутов из кнопки так:

<button type="button" rel="tooltip" title="Tooltip content" class="btn btn-sm btn-default"> 
    <span class="glyphicon glyphicon-remove"></span> 
</button> 

, а затем открыть модальное с собственным JQuery OnClick функции, а также скрыть подсказку в то же время, как так:

$(document).ready(function(){ 
    $('[rel="tooltip"]').tooltip(); 
    $('[rel="tooltip').on('click', function() { 
    $(this).tooltip('hide'); 
    $("#DeleteUserModal").modal(); 
    }); 
}); 

Предлагаемая скрипта: Fiddle

0

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

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

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

function OpenModal() { 
    $('[data-toggle="tooltip"]').tooltip("hide"); 
    $("#myModal").modal(); 
} 
0
$(document).ready(function(){ 
    $('[data-toggle="tooltip"]').tooltip({ trigger: "hover" }); 
}); 
+0

Пояснение должно помочь. – randominstanceOfLivingThing

+0

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