2013-09-10 6 views
2

Я использую Twitter Bootstrap v3, чтобы добавить подсказку «Неверный вход» в кнопку входа в систему. Вот мой код:Элегантный способ закрыть twitter bootstrap tooltip

$('#login-form').submit(function(event) { 
     event.preventDefault(); 
     $.post('/user/login', $(this).serialize(), function(data) { 
      if (data.result == true) { 
       window.location.replace('/'); 
      } else { 
       var target = $('#login-form button[type="submit"]'); 
       target.tooltip({ 
        title:  'Invalid login', 
        placement: 'bottom', 
        trigger: 'manual', 
        animation: true 
       }); 
       target.tooltip('show'); 
       setTimeout(function() { 
        target.tooltip('destroy'); 
       }, 2000); 
      } 
     }, 'json') 
    }); 

В частности, мне интересно, если есть лучший способ, чтобы закрыть подсказку. Я надеялся, что смогу настроить плагин tooltip, чтобы автоматически исчезать через несколько секунд. В качестве альтернативы я попытался связать .fade(2000) после вызова метода 'show', но это не сработало.

Приведенный выше код работает, я просто ищу более элегантную альтернативу.

ответ

1

Вы можете попробовать поставить параметр «задержка», когда подсказка инициализации

как следующий код

  target.tooltip({ 
       title:  'Invalid login', 
       placement: 'bottom', 
       trigger: 'manual', 
       animation: true, 
       delay: { show: 2000, hide: 3000 } 
      }); 
+0

К сожалению, «задержка» не работает при использовании ручного запуска. В документации говорится: «Задержка отображения и скрытия всплывающей подсказки (ms) - не относится к ручному триггеру» [http://getbootstrap.com/2.3.2/javascript.html#tooltips](http://getbootstrap.com/ 2.3.2/javascript.html # всплывающие подсказки) – Emilie

Смежные вопросы