2013-02-28 4 views
0

Я хотел бы поймать событие, что какой-то текст был введен в TextBox и изменил его, прежде чем пользователь увидит изменение. Я попытался добавить события keyDown, keyUp и keyPressed, но все они вызываются после изменения.javascript - изменяющий текст, введенный в TextBox

Есть ли способ сделать это?

+1

'ПЕРЕД именем пользователя видит изменение' - кто вводит этот текст, а не пользователь? – dfsq

+0

Вы хотите изменить его через несколько секунд после изменения ввода? –

+0

Да, но я хочу, например, удалить определенные символы, если пользователь попытается вставить их –

ответ

0

Это должно работать

$("#input").keypress(function(replace){ 
     if(replace.which==46) 
     { 
      $("#input").val($(this).val() + 'no_dots'); 
      replace.preventDefault(); 
     } 
    }); 

Он заменяет (,) символы, попробуйте этот код, я думаю, это хорошо работает keypress

+0

keypress вызывается после места смены инструмента - пользователь уже видит измененный текст –

+0

Возможно, вам следует выполнить свои функции перед 'replace.preventDefault()'? просто предложение. – Davit

+0

проверьте этот 'http: // jsfiddle.net/cDE3L/4 /', я думаю, что он основан на том, что я понял. Я не могу идти дальше. удачи – Davit

0

Это, кажется, что вы после этого. http://jsfiddle.net/wcS9j/1/

var blacklist = /(foo|bar)/ig; 

$('input').on('keyup', function() { 
    if (blacklist.test(this.value)) { 
     this.value = this.value.replace(blacklist, ''); 
    } 
}); 
Смежные вопросы