7

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

在这里演示

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

4

5 回答 5

12

实际事件随控件的类型而变化。我整理了一些例子:

$(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事件也无济于事,因为它会在文本更新之前触发。

于 2013-05-30T10:59:10.897 回答
2

keyup 事件在键盘按键被释放时发生。

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

.keyup()

于 2013-05-30T10:51:42.830 回答
1

如果它是一个文本字段,那么您将需要使用.keyup

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

应该为那些number不确定的领域工作date

于 2013-05-30T10:51:52.507 回答
0

在这里使用 on("keyup") 是演示。

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

于 2013-05-30T10:52:14.267 回答
-1

类似的东西?

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

演示

于 2013-05-30T10:51:15.257 回答