9

我有一个input领域:

<input type="text" name="notifyEmail" id="parametersEmail" value="" size=40 />

当我点击选项卡或以其他方式离开该字段时,我有一大块 jquery 代码有效,它调用了一个验证例程:

$("#parametersEmail").blur(function(event) {
    validateParameterEmail();
});

我想做的是validateParameterEmail()在输入字段的值或内容发生变化时运行该函数。

所以我也尝试了.change()处理程序:

$("#parametersEmail").change(function(event) {
    validateParameterEmail();
});

但是当我更改 的内容时parametersEmail,此处理程序不会调用验证函数。

我应该使用另一个处理程序吗?或者我不能将多个事件处理程序附加到输入字段吗?

4

4 回答 4

8

尝试$("#parametersEmail").keydown(function(event) {})

于 2011-02-01T22:08:05.793 回答
6

尝试这个:

$("#parametersEmail").bind('blur', function(event) {} );

$("#parametersEmail").bind('keyup', function(event) {} );
于 2011-02-01T22:11:47.113 回答
4

(几乎是 2017 年的现实)

最好的方法是在所有需要有关输入值更改的事件上设置一次回调。

有:

  • keyup :用户在输入中输入了一些内容
  • change :关于输入中存储更改的常见已知方法
  • click :一些输入也可以通过鼠标进行更改
  • 粘贴:是的!Ctrl+V, Crtl+Ins, RightMouseButton+Paste 也可以改变输入值
  • propertychange : 当一些 JS 以任何方式改变我们的输入时,这个事件将被触发
  • input : 支持所有现代浏览器的新标准事件,也可以使用它

因此,我们可以将它们全部设置一次:

$("#parametersEmail").bind("propertychange change click keyup input paste", function(event) {
    validateParameterEmail();
});

希望这对某人有所帮助。;)

于 2016-11-11T21:40:59.163 回答
0

更改是指当您单击离开/从输入中移动时。您可能正在寻找onKeyUp().

于 2011-02-01T22:09:01.890 回答