0

我有一个带有 Input 元素的 jsfiddle - http://jsfiddle.net/stevea/pb9MM/3/ 。我通过 .change() 感觉到输入变化:

$(function() {
    $('input#fname').change(function(e) {
        alert("input received");
        $('div#firstName').append(this.value);
    });


});

不过,我注意到,如果我只输入 Return,没有文本,则不会输入更改处理程序。但是在我看来,没有文本的返回是一个有效的输入。用户正在向您发出信号,以使用您设置的任何默认值。仅输入 Return 时如何调用更改处理程序?

谢谢

4

2 回答 2

1

我假设这Return意味着Enter key不能在change处理程序中捕获,因为它不会更改输入的值

您需要一个keydown带有条件的事件来检查它是否是输入键。就像是if (e.which == 13)

$('input#fname').change(function (e) {
    alert("input received");
    $('div#firstName').append(this.value);
}).keydown(function (e) {
    if (e.which == 13) { //keyCode for Enter key is 13
        alert('Enter key pressed');
    }
});

演示:http: //jsfiddle.net/dKJWY/

于 2013-09-03T05:36:42.217 回答
0

我不确定我是否理解您想要的内容,但是如果您的意思是在按下返回时清除该值,则不应附加该值,而是替换它:

$(function() {
    $('input#fname').change(function(e) {
        alert("input received");
        $('div#firstName').html(this.value);
    });
});
于 2013-09-03T05:37:03.820 回答