2017-03-27 6 views
0

ページロード時に入力の入力キーをシミュレートしようとしていますが、動作していないようです。私は入力をクリックしてenterを押すだけで成功を見つける。ページが読み込まれたときに警告が表示されます。jQuery keypressイベントトリガーがページロードで動作しない

私が下に挙げた順序を変更すると、警告が表示されますが、押されたキーは未定義です。

私はここで間違っていますか?ここ

参照のデモ - http://jsfiddle.net/3xTM2/1321/

HTML

<input id="test" type="text" /> 

Javascriptを

$('#test').trigger(jQuery.Event('keypress', { keycode: 13 }));  
$('#test').keypress(function(e) { 
    alert(e.keyCode); 
}); 
+0

これが重複質問をされに代わり下例Codeで大文字に注意してくださいます。http:// stackoverflowの.com/a/832121/2159528 –

+1

イベントを定義する前にトリガーしています。順序を変更するだけです。 – Ibu

+1

[jQueryを使用してキーストップイベントをトリガするための決定的な方法]の複製が可能です(http://stackoverflow.com/questions/832059/definitive-way-to-trigger-keypress-events-with-jquery) –

答えて

1

コメントに記載されているとおり、注文を変更してkeycodekeyCodeに変更するだけです。

:この回答を見るcode

$('#test').keypress(function(e) { 
 
    alert(e.keyCode); 
 
}); 
 

 

 

 
$('#test').trigger(jQuery.Event('keypress', { keyCode: 13 }));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="test" type="text" />

0

あなたは順序を逆に、とjQueryのバージョンのイベントオブジェクトにデータを代入する必要があります。

$('#test').keypress(function(e) { 
    alert(e.keyCode); 
}); 

var event = jQuery.Event('keypress'); 
event.keyCode = 13; 
$('#test').trigger(event); 
関連する問題