2013-03-01 1 views
1

У меня есть сфокусированный TextBox, и пользователь будет использовать устройство чтения штрих-кода, чтобы заполнить его дешифрованными данными. Как я могу вызвать функцию сразу после того, как текст появится в TextBox, не потеряв вначале его фокус?JQuery - событие по тексту, заполненное считывателем штрих-кода

+0

Заполняется ли он с помощью '.val()' или код чтения кода "типа" в текстовом поле? Кроме того, [что вы пробовали] (http://whathaveyoutried.com/)? – SeinopSys

+0

@ DJDavid98 Я понятия не имею, как это работает, но текст появляется везде, где находится курсор. – enb081

+1

Это может быть симуляция нажатий клавиш. Попробуйте '.keyup()' –

ответ

2

Missing некоторые детали, но здесь это:

По your comment, я думаю, что устройство имитирует ввод при чтении кода и вставить в текстовое поле. Вы можете поймать, что с помощью keyup, change и keydown:

$('.txt').on('keyup keydown change',function(){ 
    //code to run 
} 

Если метод не работает, то я не могу думать ни о чем другом. Если он просто вставляет текст, тогда он должен запускать хотя бы одно из событий.


В ответ на your second comment:

Если значение изменяется с помощью JavaScript, то вы должны использовать эту функцию, которая изменяет значение для запуска кода обработки изменений, или связать оба подхода к тому же функция, как:

function iChangeTheValue(){ 
    $('.txt').val('0231231212321'); 
    changedText(); 
} 

$('.txt').on('keyup keydown change',function(){ 
    changedText(); 
} 

function changedText(){ 
    //code 
} 

О автозаполнения части: Вы можете отключить его, если он нарушает код с помощью атрибута HTML autocomplete="off". В противном случае, пожалуйста, прочитайте this.

+0

Если вы, например, измените значение текстового поля с помощью Javascript, скажем ' $ ('.txt'). val ("123"); 'или заполнить вы выбираете одно из значений, которое предлагает автозаполнение браузера, так или иначе, я могу поймать событие этого изменения? Я ищу что-то общее. «ontextchanging», но не обязательно с клавиатуры. – enb081

+1

@ enb081 См. мое редактирование. – SeinopSys