有没有jQuery .change实时替代?

时间:2013-05-30 10:50:04

标签: jquery forms events event-handling

我希望在输入字段中进行更改后立即发生某些事情,而不是在此输入未聚焦之后。还有其他选择吗?

DEMO HERE

UPDATE 它也适用于用户不必实际点击键盘上的按钮的类型(如HTML5输入类型=数字/日期)

5 个答案:

答案 0 :(得分:7)

实际事件随控件类型而变化。我把一些例子放在一起:

$(document).ready(function() {
    function callback() { alert($(this).val()); }
    $('input[type=number]').on('input',callback);
    $('input[type=date]').on('input',callback);
    $('input[type=text]').on('keyup',callback);
});

注意:如果您使用CTRL + V粘贴文字,则keyup事件可能会触发两次

注意2:右键单击 - >粘贴将无法识别。 paste事件也无法帮助您,因为它会在更新文本之前触发

答案 1 :(得分:1)

释放键盘键时会发生键盘事件。

  $(document).ready(function() {
     $('#i1').on('keyup',function() {
              alert('Changed');
    });

.keyup()

答案 2 :(得分:1)

如果是文本字段,则需要使用.keyup

因为您想要html5字段,请尝试.click

适用于number字段,不确定date个字段。

答案 3 :(得分:0)

使用on(“keyup”)这里是演示。

http://fiddle.jshell.net/b5UZN/1/

答案 4 :(得分:-1)

这样的事情?

 $(document).ready(function() {
        $('#i1').on('keyup',function() {
                  alert('Change has been recognised!');
        });
        $('#i1').on('paste',function() {
                  alert('Change has been recognised!');
        });
});

DEMO