Всплывающая подсказка начальной загрузки, заставляющая ее работать в теге привязки

#twitter-bootstrap #tooltip #twitter-bootstrap-tooltip

#twitter-bootstrap #всплывающая подсказка #twitter-bootstrap-всплывающая подсказка

Вопрос:

У меня есть следующий код, который отображается нормально:

  <a href="#" data-toggle="tooltip" data-placement="bottom" title="Message">
     <img src="~/Content/images/trackerBlack.png" />
 </a>
  

Мне нужно заставить его работать со следующим:

      <a href="#" class="dropdown-toggle" role="button" aria-expanded="false">

         <img src="~/Content/images/trackerBlack.png" /> 
         
        <span class="badge notificationeyebrow">
                0
         </span>

     </a>
  

Не уверен, как заставить ее работать в теге привязки.

Ответ №1:

Самый простой способ добиться этого — добавить оболочку. Подход к тому, где / как вы бы добавили оболочку, в основном зависит от личных предпочтений, но я бы сделал это так, чтобы изменить вашу dropdown-toggle гиперссылку с гиперссылки на a div и переместить гиперссылку внутри вновь созданной оболочки:

 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C OGpamoFVy38MVBnE IbbVYUew OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU 6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script>

<div class="dropdown-toggle" role="button" aria-expanded="false">
  <a href="#" data-toggle="tooltip" title="Message" placement="top">
    <img src="https://placehold.it/25x25" /> 
    <span class="badge notificationeyebrow">0</span>
  </a>
</div>

<script>
  $(function () {
    $('[data-toggle="tooltip"]').tooltip()
  });
</script>  

Таким образом, вы сохраните всю желаемую структуру … dropdown-toggle она все равно будет функционировать, а область, в которой находится ваша всплывающая подсказка, по-прежнему будет вести себя как гиперссылка. Вы могли бы справиться с этим другими способами… например, вы можете оставить свою гиперссылку такой, какая у вас уже есть, и создать <div> внутри гиперссылки оболочку всплывающей подсказки.