11

私は動作する以下のものを持っています:

$('textarea').keypress(function(e) {
    if (e.keyCode == '13') {
        alert('code');
    }
});

しかし、ページが読み込まれたときに同じことをトリガーしたいので、次のことを試しましたが、うまくいきません:

var e = jQuery.Event("keypress");
e.which = 13; // Enter
$('textarea').trigger(e);

注:そこに最初のコードを切り取りたいのですが、削除したくありません。

4

3 に答える 3

14

keyCode の代わりに「which」を使用します。「どちら」は両方のシナリオで機能します

$('textarea').keypress(function (e) {
    if (e.which == '13') {
        alert('code');
    }
});
于 2013-07-16T13:50:40.267 に答える
6

これがあなたの問題の解決策ですhttp://jsfiddle.net/dima_k/zPv2a/

$('button').click(function(){
    debugger
    var e = $.Event("keypress");
    e.keyCode = 13; // # Some key code value
    $('#textbox').trigger(e);
});

 $('#textbox').keypress(function(e)
 {
    if (e.keyCode == '13') {
        alert('code');
    }
});
于 2013-07-16T13:58:56.503 に答える
0

代替ソリューション:

var textarea = $('textarea').keypress(OnTextareaKeypress);
$(function(){
    OnTextareaKeypress.call(textarea[0], { e: { which: 13 } });
});

function OnTextareaKeypress(e) {
    if (e.which == '13') {
        alert('code');
    }
}
于 2013-07-16T13:46:35.833 に答える