Как я могу предотвратить навигацию от выпадающих якорей верхнего уровня? - PullRequest
1 голос
/ 09 июля 2019

Я использую базовый выпадающий список начальной загрузки v3 для основного меню навигации.Мой код выглядит примерно так:

    <li>
      <a href="" class="dropdown-toggle" data-toggle="dropdown">Level 1</a>
      <ul class="dropdown-menu">
        <a href="somelink">Level 2</a>
      </ul>
    </li>

Конечно, Level 1 не имеет пункта назначения, он просто переключает раскрывающийся список.Когда вы выбираете Level 2, вы попадаете на веб-страницу, которая динамически генерирует то, что мы называем JobId, а затем сразу же перенаправляет вас в конечный пункт назначения, а JobId в качестве строки запроса в URL.

Вот моя проблема: если пользователь щелкнет правой кнопкой мыши на Level 2 и выберет «открыть в новой вкладке», то все хорошо, потому что сначала он проходит процедуру JobId, и в итоге он получаетновый JobId.Однако, если они случайно щелкают правой кнопкой мыши на Level 1 и выбирают «открыть в новой вкладке», они получают идентичную копию страницы, на которой они находятся в настоящее время, и поэтому в итоге получают 2 вкладки браузера с ОДНЫМ JobId, которыйкатастрофа для нашего приложения.

То, что я пробовал: я пытался иметь атрибут href верхнего уровня как #, пробовал его как пустое, пытался полностью пропустить href, и я также пытался дать ему URLна наш экран приветствия на всякий случай.

Единственное, что «сработало», - это привязка пункта меню верхнего уровня к экрану приветствия, однако он имеет побочный эффект.При первой загрузке страницы выпадающие списки работают отлично.Но как только вы выбираете пункт меню один раз, затем в следующий раз, когда вы нажимаете на элемент верхнего уровня, вместо раскрывающегося списка вы попадаете на экран приветствия.

Любые другие идеи о том, как я могу предотвратитьLevel 1 предметы от чего-либо другого, кроме раскрывающихся меню?

1 Ответ

1 голос
/ 09 июля 2019

Почему уровень 1 должен быть якорем?Просто потому, что так выложил Bootstrap, так не должно быть.Фактически, поскольку эта привязка уровня 1 уже находится внутри элемента списка, просто удалите привязку и поместите текст «Уровень 1» внутри элемента списка.

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