Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

* Ниже приводится образец разметки HTML, использующей этот модуль.

* Zipcode: <input id="zip” type="text"

* data-allowed-chars="0123456789" data-messageid="zipwarn">

* <span id="zipwarn" style="color: red; visibility: hidden">TonbKo цифры</зрап>

*

* Этот модуль полностью реализован в ненавязчивом стиле: он не определяет

* никаких переменных в глобальном пространстве имен.

*/

whenReady(function { // Вызовет эту функцию, когда документ будет загружен

// Отыскать все элементы <input>

var inputelts = document.getElementsByTagName("input");

// Обойти их в цикле

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)

  • Читать дальше
  • 1
  • ...
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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