0

文字のユーザー入力をテキストエリアにエミュレートする必要があります (例: jsFiddle ) 。

<textarea rows=3 cols='30' id='txt'></textarea>

<script>

var $txt = jQuery('#txt')    
var e = jQuery.Event("keypress");
e.which = 49;    
$txt.focus().trigger(e)

</script>

テキストエリアに正しくフォーカスを設定しますが、文字 '1' (ASCII コード 49) がテキスト ボックスに表示されません。私は何を間違っていますか?

更新: 回答に基づいて、十分な情報を提供していないことがわかりました。ここでは、テキスト領域の値を変更するだけでなく、ユーザーがキーボードを使用してその値を入力することを実際にエミュレートすることを示します。SharePoint コントロールにフックしようとしていますが、ユーザーが特定のテキストエリアで特定のキーを押すと、ファンキーな動作をします。val() を介して値を追加するだけでは、すべての正しいキーイベントをトリガーする必要があるため、何の役にも立ちません。

それで、質問はまだそこにあります-上記の例で試したことに基づいて、ユーザー入力をどのようにエミュレートしますか?

4

3 に答える 3

1

テストのためにキーボードをシミュレートしたい場合は、試してください...

var $txt = jQuery('#txt');
$txt.val('1');
$txt.trigger('change'); // keypress, whatever
于 2013-06-20T16:18:53.330 に答える
0

この行をスクリプトの最後に追加して、文字をテキスト領域に追加します。

jQuery('#txt').append(String.fromCharCode(49));
于 2013-06-20T16:03:03.327 に答える