2017-02-09 1 views
1

Я хочу поместить текст в элемент ввода textarea, используя ключевые события в jquery. Я знаю, что это можно просто сделать с помощью функций .val() или .html(), но есть причина, по которой я хочу поместить текст с помощью keyevents. Ниже мой код:Ввод текста во входной элемент с использованием ключевых событий и jquery

<!DOCTYPE html> 
<html> 
<body> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<p>In this example, the text field gets focus immediately after the document window has been loaded.</p> 

<textarea id="myText"> </textarea> 

<script> 

$(function() { 
    document.getElementById("myText").focus(); 
    $('#myText').focus().trigger({ type : 'keypress', which : 65 }); 
    $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })); 

}); 


</script> 

</body> 
</html> 

Я гугле его и понял, что есть два различных способа инициирующих событий с помощью JQuery. Я пробовал оба, но ни один из них, похоже, не работает.

+0

'$ (" body "). Bind ('keydown', function (e) { if (event.keyCode == 13) {// введите $ ('# myText'). Val ('ENTER') } }) ' что-то вроде этого? – MarcosRJJunior

+0

Нет. Как я уже сказал, я уже знаю, как это сделать. –

ответ

0

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

Если вы демо с this fiddle, вы увидите стрельбу по нажатию клавиши.

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

$(function() { 
    $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })).val($("#myText") 
    .val() + String.fromCharCode(65)); 
}); 
0

вопрос отвечает over there. Быть кратковременными событиями не изменят фактический ввод из-за соображений безопасности, но есть плагин под названием «The $.fn.sendkeys Plugin», который может помочь вам в обходном пути.

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