Возможно, вы захотите взглянуть мой плагин jQuery для обнаружения ввода пользователя.Он нормализует событие HTML5 oninput
во всех основных браузерах, поэтому он может обнаружить ввод с клавиатуры, исправления орфографии, вставки, перетаскивания и т. Д.
Используя этот плагин, ваш код может выглядеть примерно так:
$("#myInput").input(function () {
var $this = $(this), val = this.value;
if (val.length && val.indexOf("nid") === -1 && !$this.hasClass("bar"))
$this.css("color", "red");
else
$this.css("color", "green");
});
Рабочая демонстрация: http://jsfiddle.net/hVDP8/
oninput
имеет много преимуществ по сравнению с использованием таймеров или события onkeyup
, например, выполнение кода до того, как будет нарисовано новое значениена экране.На самом деле, это идеально подходит для такой ситуации.