как вызвать javascript функцию при открытии bootstrap модального окна

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
около 22 часов назад

Вызывая JavaScript функцию при открытии Bootstrap модального окна, важно понимать несколько ключевых аспектов работы с Bootstrap и JavaScript. Bootstrap предоставляет события, которые позволят вам реагировать на различные действия, такие как открытие, закрытие или изменение состояния модального окна.

Шаг 1: Создание модального окна

Сначала создадим простое модальное окно с использованием HTML и Bootstrap. Вот пример разметки модального окна:

<!-- Кнопка для открытия модального окна -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
  Открыть модальное окно
</button>

<!-- Модальное окно -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Модальное окно</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        Содержимое модального окна...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Закрыть</button>
      </div>
    </div>
  </div>
</div>

Шаг 2: Привязка события к модальному окну

Теперь, чтобы вызвать JavaScript функцию при открытии модального окна, вы можете использовать событие .on('show.bs.modal', ...) для вашего модального окна. Вот пример JavaScript кода:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script>

<script>
  $(document).ready(function() {
    // Функция, которую мы будем вызывать
    function myFunction() {
      console.log("Модальное окно открыто!");
      // Здесь можно добавить любой другой код, который вы хотите выполнить
    }

    // Привязка события к модальному окну
    $('#myModal').on('show.bs.modal', function (event) {
      myFunction();
    });
  });
</script>

Объяснение кода:

  1. Кнопка для открытия модального окна: У нас есть кнопка, которая при нажатии открывает модальное окно с data-toggle="modal" и data-target="#myModal".

  2. Модальное окно: Мы определяем саму структуру модального окна, используя элементы Bootstrap.

  3. JavaScript код:

    • Подключаем jQuery и Bootstrap JS.
    • Определяем функцию myFunction, которая будет вызываться при открытии модального окна. В данном случае мы просто выводим сообщение в консоль, но вы можете заменить это на любую другую логику.
    • Используем $('#myModal').on('show.bs.modal', ...), чтобы зарегистрировать обработчик событий, который будет вызываться при открытии модального окна.

Дополнительная информация

  • Другие события: Можно также использовать другие события, такие как shown.bs.modal, если вам нужно выполнить код после того, как модальное окно полностью отображается.
  • Добавление параметров: Если вам нужно передать параметры в вашу функцию, вы можете извлечь данные из data-* атрибутов во время вызова события.

Такой подход позволит вам легко управлять поведением вашего сайта и обеспечивать взаимодействие с пользователем при работе с модальными окнами в Bootstrap.

0 0

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Тест-драйв

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Базы данных

Фреймворки