Какое событие мне нужно подавить, чтобы запретить IE "Dinging", когда я нажимаю ввод в текстовом поле? - PullRequest
8 голосов
/ 04 июня 2009

На простых формах с одним текстовым полем нажатие клавиши ввода отправляет форму (и это отлично подходит для удобного поиска форм)

Однако в форме с несколькими полями нажатие Enter в поле ввода = "текст" ничего не изменит (например, отправит), но в IE это "Dings", как если бы вы пытались удалить необратимый объект.

Вопрос в том ... какое событие мне нужно подавить в IE, чтобы остановить этот звук? например если у меня есть форма имени пользователя / пароля, я действительно хочу, чтобы клавиша ввода отправила форму, но я, конечно, не хочу звука "ошибки".

Пример сайта со звуком: http://www.sears.com/shc/s/StoreLocatorView?storeId=10153&catalogId=12605 Просто нажмите Enter в любом из текстовых полей. Дин !, Дин !, Дин!

Пользователи, не являющиеся пользователями IE, звучат так: События программы> Windows> Стандартный звуковой сигнал («Windows XP Ding.wav»)

Ответы [ 5 ]

10 голосов
/ 04 июня 2009

Ну, похоже, это работает:

<!-- suppress sound (and suppress submit) -->
<input type="text" onkeypress="if(window.event.keyCode == 13){return false;}"/>

<!-- suppress sound (BUT allow submit) -->
<input type="text" onkeypress="if(window.event.keyCode == 13){this.form.submit();return false;}"/>
2 голосов
/ 17 июня 2011
$("#logonForm").keypress(function (e) {
            if (e.keyCode == '13') {
                if (instance.Validate(instance)) {
                    document.forms["logonForm"].submit();
                    return false;  //Do not delete, suppresses ding in IE... :P
                }
            }
        });

Это работает, мы используем его.

0 голосов
/ 13 ноября 2013
$("#txtSomething").keypress(function (e) {
        if (e.which == 13) {

            e.Handled = true; //This will prevent the "ding" sound

            //Write the rest of your code
        }
    });
0 голосов
/ 20 февраля 2010

Он прав. Текстовое поле, которое вы хотите, чтобы не раздражать вас динг-песней

только добавить

onkeypress="if(window.event.keyCode == 13){return false;}"

Вам введен тег

<input type="whatever"  onkeypress="if(window.event.keyCode == 13){return false;}" >

Но не делайте этого при вводе или кнопочном вводе. Только для текстовых полей, так что вы не будете раздражены динь! динь! сейчас. Я проверил.

0 голосов
/ 04 июня 2009

Я полагаю, что это контролируется ОС и, следовательно, оно не может управляться с помощью JavaScript.

...