Ограничение ввода события нажатия клавиши в IFrame, не работает - PullRequest
0 голосов
/ 01 октября 2009

У меня есть IFrame на моей странице, и я использую designMode = "on" в этом iframe для редактирования низкоуровневого расширенного текста.

Меня беспокоит то, что мне не нужно позволять пользователю вводить в него новые строки - это означает, что я хочу ограничить клавиши ввода.

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

Как мне ограничить клавиши ввода в Iframe с помощью designmode?

Код:

      document.getElementById('editor').contentWindow.addEventListener('keypress',restrictEnterKey, true);

            function restrictEnterKey(event) {
                var key=(event.charCode)?event.charCode:((event.keyCode)?event.keyCode:((event.which)?event.which:0));
                if (key == 13) {
                    //alert('me');
                    return false;
                }
                return true;
            }

1 Ответ

2 голосов
/ 01 октября 2009

Вам нужно позвонить preventDefault на событие или установить returnValue на false для IE. Следующая функция сделает работу:

function preventDefault(evt) {
    if (evt.preventDefault) {
        evt.preventDefault();
    } else if (typeof evt.returnValue !== "undefined") {
        evt.returnValue = false;
    }
}
...