Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

for(var і = 0 ; і < inputelts.length; i++) {

var elt = inputelts[i];

// Пропустить элементы, не являющиеся текстовыми полями ввода

// и не имеющие атрибута data-allowed-chars.

if (elt.type != "text" || !elt.getAttribute(”data-allowed-chars")) continue;

//
Зарегистрировать наш обработчик события в этом элементе input

// keypress - старое событие и реализовано во всех броузерах.

// textInput (смешанный регистр символов) поддерживается в Safari

// и Chrome с 2010 года.

// textinput (все символы строчные) - версия проекта

// стандарта "DOM Level 3 Events",

if (elt.addEventListener) {

elt.addEventListener("keypress", filter, false);

elt.addEventListener("textlnput", filter, false);

elt.addEventListened"textinput", filter, false);

}

// textinput не поддерживается версиями IE, в которых не реализован

// метод addEventListener

else {

elt.attachEvent("onkeypress", filter);

}

}

// Обработчик событий keypress и textlnput, фильтрующий ввод пользователя

function filter(event) {

// Получить объект события и целевой элемент target

var е = event || window.event; // Модель стандартная или IE

var target = e.target || e.srcElement; // Модель стандартная или IE

var text = null; // Введенный текст

// Получить введенный символ или текст

if (e.type === "textinput" || e.type === "textlnput")

text = e.data;

else { // Это было событие keypress

// Введенный печатаемый символ в Firefox сохраняется в свойстве charCode

var code =
е.charCode || e.keyCode;

// Если была нажата какая-либо функциональная клавиша, не фильтровать ее

if (code < 32 || // Управляющий символ ASCII

е.charCode == 0 || // Функциональная клавиша (в Firefox)

e.ctrlKey || e.altKey) // Удерживаемая клавиша-модификатор

return; // Не фильтровать это событие

// Преобразовать код символа в строку

var text = String.fromCharCode(code);

}

// Отыскать необходимую нам информацию в этом элементе input

var allowed = target.getAttribute("data-allowed-chars");
// Допустимые символы

var messageid = target.getAttribute("data-messageid"); // Сообщение id

if (messageid) // Если указано значение id, получить элемент

var messageElement = document.getElementByld(messageid);

// Обойти в цикле символы во введенном тексте

for(var і = 0; і < text.length; i++) {

var c = text.charAt(i);

if (allowed.indexOf(c) == -1) { // Недопустимый символ?

// Отобразить элемент с сообщением, если указан

if (messageElement) messageElement.style.visibility="visible";

// Отменить действия по умолчанию, чтобы предотвратить вставку текста

if (е.preventDefault) е.preventDefault;

if (е.returnValue) е.returnValue = false;

return false;

}

}

// Если все символы оказались допустимыми, скрыть элемент

// с сообщением, если он был указан.

if (messageElement) messageElement.style.visibility = "hidden";

Поделиться:
Популярные книги

Легенды и мифы Древнего Востока

Овчинникова Анна Георгиевна
Древний мир
Документальная литература:
биографии и мемуары
6.25
рейтинг книги
Легенды и мифы Древнего Востока

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Александр Великий или Книга о Боге

Дрюон Морис
Проза:
историческая проза
8.20
рейтинг книги
Александр Великий или Книга о Боге

Андер Арес

Грехов Тимофей
1. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Андер Арес

Ричард Длинные Руки – эрцфюрст

Орловский Гай Юлий
Фантастика:
фэнтези
5.00
рейтинг книги
Ричард Длинные Руки – эрцфюрст

An ordinary sex life

Астердис
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
An ordinary sex life

Место

Горенштейн Фридрих Наумович
Проза:
современная проза
5.00
рейтинг книги
Место

Тайная история американской империи: Экономические убийцы и правда о глобальной коррупции

Перкинс Джон
Документальная литература:
публицистика
8.33
рейтинг книги
Тайная история американской империи: Экономические убийцы и правда о глобальной коррупции

Последний реанорец. Том IV

Павлов Вел
3. Высшая Речь
Фантастика:
фэнтези
5.20
рейтинг книги
Последний реанорец. Том IV

Йога т4

Васиштха
5.00
рейтинг книги
Йога т4

Разбитое окно

Дивер Джеффри
8. Райм и Сакс
Детективы:
прочие детективы
7.75
рейтинг книги
Разбитое окно

Великие мифы и легенды. 100 историй о подвигах, мире богов, тайнах рождения и смерти

Мудрова Ирина Анатольевна
Старинная литература:
мифы. легенды. эпос
5.00
рейтинг книги
Великие мифы и легенды. 100 историй о подвигах, мире богов, тайнах рождения и смерти

Том 3. Советский и дореволюционный театр

Луначарский Анатолий Васильевич
3. Собрание сочинений в восьми томах
Документальная литература:
критика
5.00
рейтинг книги
Том 3. Советский и дореволюционный театр

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII