I got:

$(someTextInputField).keypress(function() {
  alert($(this).val());
});

Now the alert always returns the value BEFORE the keypress (e.g. the field is empty, I type 'a' and the alert gives me ''. Then I type 'b' and the alert gives me 'a'...). But I want the value AFTER the keypress - how can I do that?

背景:只要文本字段包含至少一个字符,我就希望启用按钮.因此,我对每个keypress个事件运行此测试,但是使用返回的val(),结果总是落后一步.我不能 Select 使用change()事件,因为这样直到您离开文本框该按钮才会被禁用.如果有更好的办法,我很高兴听到!

推荐答案

keypress改为keyup:

$(someTextInputField).on("keyup", function() {
  alert($(this).val());
});

keypress is fired when the key is pressed down, keyup is fired when the key is released.

Jquery相关问答推荐

我在自定义 WordPress 插件中使用 ajax 时收到错误请求

我需要在上一个表格单元格中显示计算结果

即使我使用 [FromBody] C# 从视图(Ajax)发送请求时在控制器中收到 NULL 对象

JQuery:$.get 不是函数

如何使用jquery取消绑定所有事件

jQuery切换CSS?

错误找不到 jquery-2.0.2.min.map

如何在jQuery中 Select 具有特定ID的所有元素?

如何在实际图像下载时显示加载图像

将返回的 JSON 对象属性转换为(较低的第一个)camelCase

在不丢失光标位置的情况下更新输入值

如何将数组传递给 jQuery .data() 属性

订单对象是否由指定的 jQuery Select 器返回?

jQuery确定匹配的类是否具有给定的ID

使用 jQuery 获取选中复选框的值

在事件中使用 jQuery 获取被点击的元素?

更改 url 而不使用 javascript 重定向

默认情况下如何将tinymce粘贴为纯文本

如何使用 jquery 使下拉列表只读?

JavaScript 在 DOM 中移动元素