Ограничение ввода события нажатия клавиши в IFrame не работает
-
19-09-2019 - |
Вопрос
У меня есть IFrame на моей странице, и я использую designMode="on" в этом iframe для редактирования расширенного текста на небольшом уровне.
Меня беспокоит то, что мне не нужно разрешать пользователю вводить в него новые строки - то есть я хочу ограничить клавиши ввода.
Я сделал это с помощью вопрос опубликован здесь для прослушивания событий нажатия клавиш.Но в моем событии нажатия клавиши, если я вернуть ложь, Ничего не произошло.
Как ограничить клавиши ввода в Iframe с помощью режима дизайна?
Код:
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;
}
Решение
Вам нужно позвонить preventDefault
на мероприятии или съемочной площадке returnValue
к false
для ИЕ.Следующая функция выполнит эту работу:
function preventDefault(evt) {
if (evt.preventDefault) {
evt.preventDefault();
} else if (typeof evt.returnValue !== "undefined") {
evt.returnValue = false;
}
}
Не связан с StackOverflow