Bootstrap Всплывающая подсказка не отображается в полноэкранном режиме - PullRequest
0 голосов
/ 08 апреля 2020

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

Bootstrap v4

Теперь у меня есть рабочий образец с той же проблемой, реплицированной .

https://jsfiddle.net/ChidoYo/evj2b53t/2/

<div class="container" id="container">
  <div class="row">
    <div class="col">
      <table class="table">
        <thead>
          <tr>
            <th>
              Short Table
            </th>
            <th>

            </th>
            <th class="text-right">
              <a href="#" class="btn btn-primary" id="view_fullscreen">View Fullscreen</a>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>
              Info here:
            </td>
            <td class="truncate-cell" data-toggle="tooltip" data-placement="top" title="Super long text that will be truncated because, well... it's too long">
              Super long text that will be truncated because, well... it's too long
            </td>
            <td>
              Mini Cell
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</div>

Javascript:

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

  $('#view_fullscreen').on('click', () => {

    let elem = document.getElementById('container');

      if (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled ) {

          if (document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) {
              if (document.exitFullscreen) {
                  document.exitFullscreen();
              } else if (document.webkitExitFullscreen) {
                  document.webkitExitFullscreen();
              } else if (document.mozCancelFullScreen) {
                  document.mozCancelFullScreen();
          } else if (document.msExitFullscreen) {
              document.msExitFullscreen();
          }

      } else {
          if (elem.requestFullscreen) {
              elem.requestFullscreen();
          } else if (elem.webkitRequestFullscreen) {
              elem.webkitRequestFullscreen();
          } else if (elem.mozRequestFullScreen) {
              elem.mozRequestFullScreen();
          } else if (elem.msRequestFullscreen) {
              elem.msRequestFullscreen();
          }
        }
    } else {
      console.log('Fullscreen is not supported on your browser.');
    }
  });
});

1 Ответ

0 голосов
/ 09 апреля 2020

Лучший подход к этому - использовать опцию контейнера. Убедитесь, что вы указали родительский тег, который используется в качестве контейнера для полноэкранного просмотра.

<div id="fullscreen_viewer>
    <a href="#" data-toggle="tooltip" data-placement="top" title="Tooltip content here">Tooltip Mouseover</a>
</div>

Javascript:

$('[data-toggle="tooltip"]').tooltip({
    container: '#fullscreen_viewer'
});

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

<div id="fullscreen_viewer>
    <a href="#" data-toggle="tooltip" data-placement="top" title="Tooltip content here" data-container="#fullscreen_viewer">Tooltip Mouseover</a>
</div>

Javascript:

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