2014-10-06 3 views
0

Я сделал плагин для клавиатуры. Когда я нажимаю на значения клавиатуры, он успешно заполняет поле ввода, но это не вызывает мое событие.Вход триггера JQuery

В двух словах:

<form> 
    <input id='testinput' type='text' name='test' value='' /> 
</form> 

JQuery:

$('input').focus(function(){ 
    $('input').keyboard().show(); 
}); 

$('#test-input').on('input', function() { 
    alert('change'); 
}); 

Код для клавиатуры является слишком большим, чтобы показать его здесь. Он прикреплен в скрипке. Когда я вручную пишу что-то на входе, он запускается, но не через клавиатуру.

Может кто-нибудь указать мне в правильном направлении?

+0

'$ («а»). триггер («щелчок»); http://api.jquery.com/trigger/ – Justinas

+0

Совет. Опечатка здесь? '$ ('# test-input')' – melancia

+0

Из документации: ** input **: _Occurs, когда текстовое содержимое элемента изменяется через пользовательский интерфейс ._ – melancia

ответ

1

Вы программно вставить символы, когда пользователь щелкает так что вам нужно будет вручную вызвать «вход» обработчик события также в плагине

click: function(e) { 
    e.stopPropagation() 
    e.preventDefault() 
    this.select() 
    this.$element.trigger('input') 
} 

FIDDLE

+0

Спасибо! У меня было почти все правильно, но вместо ввода у меня был идентификатор входа. Большое спасибо моему герою! – Matheno

+1

Его Неудачный Бадди, Попробуйте комбинацию некоторых i/p от keybord от входа, он не работает –

+0

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

Смежные вопросы