Я ищу способ очистки ввода, который я вставляю в браузер, это возможно сделать с помощью jQuery?
Мне удалось придумать это до сих пор:
$(this).live(pasteEventName, function(e) {
// this is where i would like to sanitize my input
return false;
}
К сожалению, мое развитие зашло в тупик из-за этой "мелкой" проблемы. Я действительно сделал бы меня счастливым туристом, если бы кто-то мог указать мне правильное направление.
Ответы:
ОК, просто столкнулся с той же проблемой .. Я прошел долгий путь
Просто маленький тайм-аут до .val () func может быть заполнен.
E.
источник
Вы можете получить значение прямо из события . Это немного глупо, как добраться до него, хотя.
Верните false, если вы не хотите, чтобы он прошел.
источник
e.clipboardData.getData('text')
в простом JavaScript.Для кросс-платформенной совместимости он должен обрабатывать события oninput и onpropertychange:
источник
Я вроде исправил это с помощью следующего кода:
Теперь мне просто нужно сохранить местоположение каретки и добавить к этой позиции, тогда я все готово ... Я думаю :)
источник
.find(':focus')
, и зная, что этот элемент определяет местоположение каретки для него. Смотрите это .input
имеет значение :) У меня обычно есть это в моих событиях текстового поля,keyup keydown paste input
но очевидно зависит от ваших побужденийХм ... Я думаю, что вы можете использовать,
e.clipboardData
чтобы поймать данные вставляются. Если это не удастся, посмотрите здесь .источник
Прослушайте событие вставки и установите прослушиватель события keyup. В keyup перехватите значение и удалите прослушиватель событий keyup.
источник
Это будет работать нормально.
источник
Это становится ближе к тому, что вы могли бы хотеть.
Обратите внимание, что когда объект clipboardData не найден (в браузерах, отличных от IE), вы в настоящее время получаете полное значение элемента + значение буфера обмена.
Вероятно, вы можете сделать несколько дополнительных шагов, чтобы различать два значения, до ввода и после ввода, если вы действительно только после того, какие данные были действительно вставлены в элемент.
источник
Это будет работать для события вставки мыши.
источник
Как насчет сравнения исходного значения поля и измененного значения поля и вычета разности как вставленного значения? Это правильно фиксирует вставленный текст, даже если в поле уже есть текст.
http://jsfiddle.net/6b7sK/
источник
Этот код работает для меня, либо вставка с правого клика, либо прямая копия вставки
Когда я вставляю
Section 1: Labour Cost
это становится1
в текстовом поле.Чтобы разрешить только значение с плавающей точкой, я использую этот код
источник
Дальше:
источник
Смотрите этот пример: http://www.p2e.dk/diverse/detectPaste.htm
Он обязательно отслеживает каждое изменение с помощью события oninput, а затем проверяет, является ли это вставкой по сравнению строк. О, и в IE есть событие onpaste. Так:
источник
Этот метод использует jqueries contents (). Unwrap ().
По истечении заданного времени ожидания просмотрите все теги разворачивания содержимого, которые не имеют класс, который вы установили ранее. Примечание. Этот метод не удаляет самозакрывающиеся теги, например,
см. Пример ниже.
источник
Это оказалось довольно призрачным. Значение ввода не обновляется до выполнения кода внутри функции события вставки. Я попытался вызвать другие события из функции вставки события, но входное значение по-прежнему не обновляется вставленным текстом внутри функции каких-либо событий. Это все события, кроме keyup. Если вы вызываете keyup из функции события вставки, вы можете очистить вставленный текст из функции события keyup. вот так...
Здесь есть одна оговорка. В Firefox, если вы сбрасываете вводимый текст для каждой клавиатуры, если текст длиннее, чем видимая область, разрешенная шириной ввода, то сброс значения для каждой клавиши нарушает функциональность браузера, которая автоматически прокручивает текст в позицию каретки в конец текста. Вместо этого текст прокручивается назад к началу, оставляя каретку вне поля зрения.
источник
Скрипт для удаления специальных символов из всех полей с классом portlet-form-input-field:
источник
источник