Bootstrap 4 - предотвращение открытия модальных при нажатии на кнопку выпадающего - PullRequest
0 голосов
/ 11 апреля 2019

Я использую BS 4 Modal, и мои выпадающие кнопки расположены внутри div, который отвечает за открытие модального режима при нажатии:

Проблема в том, что я хочу предотвратить открытие модального режима, когда я нажимаю навыпадающая кнопка

Вот моя js скрипка

$("#addEventsButton").on('click', function(event) {
    $('#exampleModalLong').modal('show');

})

Ответы [ 2 ]

2 голосов
/ 12 апреля 2019

Пожалуйста, проверьте этот фрагмент кода.

$("#addEventsButton").on('click', function(event) {
 $('#exampleModalLong').modal('show');
})
.adiv {
    background-color: #000;
    display: flex;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js" integrity="sha256-BJeo0qm959uMBGb65z40ejJYGSgR7REI4+CW1fNKwOg=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.15.0/umd/popper.min.js" integrity="sha256-fTuUgtT7O2rqoImwjrhDgbXTKUwyxxujIMRIK7TbuNU=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.js" integrity="sha256-pl1bSrtlqtN/MCyW8XUTYuJCKohp9/iJESVW1344SBM=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.css" integrity="sha256-Nfu23DiRqsrx/6B6vsI0T9vEVKq1M6KgO8+TV363g3s=" crossorigin="anonymous" />
<!-- Button trigger modal -->

<div class="adiv">

<p id="addEventsButton">
 Click me to open the modal
</p>
    
<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown button
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
  </div>
</div>

</div>



<!-- Modal -->
<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <input type="radio" class="new-control-input" name="marker" value="r1">
        
        <input type="radio" class="new-control-input" name="marker" value="r2">
        
        <input type="radio" class="new-control-input" name="marker" value="r3">
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" id="add-e" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Единственное изменение, которое я сделал, - это перемещение идентификатора addEventsButton из родительского тега div в p тег

    <p id="addEventsButton">
 Click me to open the modal
</p>
1 голос
/ 12 апреля 2019

Это произошло потому, что вы добавили выпадающее меню в свой модальный тег «div». Если вы закроете тег перед этим тегом «dropdown», это может решить вашу проблему ... Но это изменит ваш HTMLпросмотреть ..

<div id="addEventsButton" class="adiv">
<br>
<p>
 Click me to open the modal
</p>
</div>    <!-- Add this tag here -->

<div class="dropdown">

Просто дайте мне знать, что вы не ожидаете этих макетов или просто измените CSS

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