2014-10-12 3 views
2
<input type="text" name="a" id="a"/> 

$("#a").focus(); 
var e = $.Event("keypress", { which: 65, keyCode: 65 }); 
$("#a").trigger(e); 

Почему это не работает для меня? Пробовал и различные версии jquery. js fiddle link: http://jsfiddle.net/hw48685m/3/jQuery триггер не работает

+0

Если возможно, можете описать требование? Благодаря – guest271314

+0

нажатие клавиши запускается, и это не то же самое, что установка текста поля ввода эквивалентному символу кода. таким образом вы не увидите капитала 'A' ​​в поле ввода. – ethorn10

+0

А, ок. Хм, есть способ набирать ключ одну букву в течение времени, используя эти события, вместо того, чтобы регулировать с помощью буквы .val() буквой. Я спрашиваю об этом, потому что я работаю над проектом, где я должен буквально вводить ключ в поле ввода, и только тогда я могу инициировать другие связанные с ним события. – Zeblimiski

ответ

1

Ваш код работает ... просто добавьте следующий код и проверьте триггер нажатия клавиши.

$('#a').keypress(function(e){ 
    console.log('Yes KeyPress triggered. ' + e.which) 
}); 
+0

А, ок. Благодаря! Как и то, что я упомянул в комментарии выше, есть способ ввода букв вместо буквы .val() итеративно. – Zeblimiski

+0

Вы ищете что-то вроде этого: '$ ('# a'). Keypress (function (e) { if (e.which == 65) { // Ваш код } });' –

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