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

使用“which”而不是 keyCode。“哪个”在两种情况下都有效

$('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 回答