Кратко
Секция статьи "Кратко"При помощи директивы confirm
можно вывести на экран пользователя модальное окно с текстом и кнопками «Ок» и «Отмена».
🤖 Из-за того, что окно модальное — работа с интерфейсом браузера и страницами будет заблокирована. Это неудобно, плюс может восприниматься пользователем как попытка ограничивать его свободу. Модальное окно для пользователя — окно, которое блокирует работу пользователя с браузером до тех пор, пока пользователь это окно не закроет.
Пример
Секция статьи "Пример"💡 Это крайне быстрый вариант кода, который взаимодействует с пользователем, но окно созданное таким образом не изменяется через CSS, а значит использовать его лучше только для прототипирования интерфейса. В финальном варианте веб-страницы использовать модальное окно нежелательно.
Как пишется
Секция статьи "Как пишется"confirm
принимает один аргумент — это текст, который появится в модальном окне.
Результат работы confirm
можно записать в переменную:
var answer1 = confirm("Подтвердите удаление")
var answer1 = confirm("Подтвердите удаление")
Если не передать никакие аргументы, то пользователь увидит просто пустое окно с кнопками. Если появление окна следовало из какого-то действия, то пользователь может догадаться, что от него хотят. Но лучше, чтобы текст в модальном окне был написан — не надо бесить пользователей.
Как это понять
Секция статьи "Как это понять"Аргумент confirm
должен быть строкой. Если это не так — будет автоматическое приведение к строке. Такое поведение не доставляет проблем, пока аргумент является примитивом или встроенным типом, имеющим правила приведения к строке.
// Текст: "Подтвердите переход на страницу"confirm("Подтвердите переход на страницу")// "[object Object]", совершенно не подсказывающий пользователю что делатьconfirm({ message: "please confirm" })
// Текст: "Подтвердите переход на страницу" confirm("Подтвердите переход на страницу") // "[object Object]", совершенно не подсказывающий пользователю что делать confirm({ message: "please confirm" })
💡 Результат confirm
— булево значение: «true» если нажать «Окей» и false если нажать «Отмена».
var result = confirm("Удалить элемент?")// нажимаем ОКif (result === true) { alert("Элемент удален!")} else { alert("Операция прервана")}// Результат: сообщение "Элемент удален"
var result = confirm("Удалить элемент?") // нажимаем ОК if (result === true) { alert("Элемент удален!") } else { alert("Операция прервана") } // Результат: сообщение "Элемент удален"
Так как confirm
всегда выдаёт boolean значение, то проверки на true/false вполне достаточно для продолжения работы скрипта.
На практике
Секция статьи "На практике"🛠 Ниже представлен пример использования confirm
с самостоятельно созданным диалоговым окном: