2017-03-09 5 views
0

回答はhereでしたが、うまくいきません。jQueryは入力時にキー入力をシミュレートします

JSFiddle:https://jsfiddle.net/Ldu6wwv0/

$('input').val('test').trigger(jQuery.Event('keypress', {keycode: 13})); 

$('input').on('keypress', function(){ 
    $('p').text("worked"); 
}); 

私が間違って何をしているのですか?

+1

あなたJSFiddleは私のブラウザ(クローム)で正常に動作します。 –

+1

私にとってもうまくいきます。問題であると想定されるのは? –

+0

それは奇妙です。私もクロムの上にあり、それは動作しません - バージョン56. 私はSafari、Firefoxでも試してみました。 – Kalzone

答えて

1

問題はあなたのコードの順番であるようです。 keypressをトリガするコードは、イベントハンドラの前に定義されています。

これは現在動作しているようです。 (JSFiddle

$('input').on('keypress', function(){ 
    $('p').text("worked"); 
}); 

$('input').val('test').trigger(jQuery.Event('keypress', {keycode: 13})); 

UPDATE: はまた、それは廃止されるキーコードを使用していない(link)といくつかのケースでは動作しない可能性がありますしてください。私は個人的にこの問題に直面しました。代わりにを使用してください。

JSFiddle

$('input').on('keypress', function(){ 
    $('p').text("worked"); 
}); 

var e = jQuery.Event("keypress"); 
e.which = 13; 
$("input").focus().val('test').trigger(e); 
+0

今すぐご利用ください!ありがとう – Kalzone

関連する問題