JavaScript: Как выбрать "Отмена" по умолчанию в окне подтверждения?

Я показываю окно подтверждения JavaScript, когда пользователь нажимает кнопку "Удалить данные". Я показываю это, как показано на этом изображении:

альтернативный текст

На изображении кнопка "ОК" выбрана по умолчанию. Я хочу выбрать кнопку "Отмена" по умолчанию, чтобы, если пользователь случайно нажал клавишу ввода, записи были в безопасности и не были удалены.

Есть ли способ в JavaScript выбрать кнопку "Отмена" по умолчанию?

4 ответа

Решение

Если вы можете использовать плагин jQuery, то вот хороший

JQuery Экспромт

Чтобы изменить фокусированную кнопку по умолчанию:

$.prompt('Example 4',{ buttons: { Ok: true, Cancel: false }, focus: 1 });

Вы не можете этого сделать, но вы можете использовать / написать свой собственный диалог, который отображается с использованием элементов DOM (как предложил Phoenix, просто это не должен быть тот конкретный плагин jQuery, вы можете написать свой собственный или использовать плагин из другого Рамки JS).

Ответы "use jQuery + plugin X" начинают раздражать. Существует множество библиотек JS и еще больше плагинов. Например, использование любой библиотеки JS здесь не нужно, если вы просто хотите отобразить пользовательский диалог. Хотя это быстрое решение / ответ, подобные ответы приносят больше вреда, чем пользы. Люди, плохо знакомые с JavaScript или программированием в целом, начинают думать, что jQuery и / или плагины - это единственный путь, и они включают библиотеку 50 КБ + только для того, чтобы написать 3 собственные строки (которые иногда даже не используют библиотеку:D).

На мой взгляд, комментарий Маркуса Джонссона - лучший ответ, это позор, что он не опубликован как один.

Я не думаю, что вы можете сделать это.

Но вы определенно можете усложнить для пользователя случайное "согласие" с подтверждением, например, заставив пользователя ввести "y" в поле ввода:

agree = (prompt("Type 'y' to accept", '') == 'y');

это сработало для меня

Другие вопросы по тегам