Jquery 选择浏览器表单元素的事件是什么?

Jquery 选择浏览器表单元素的事件是什么?,jquery,Jquery,我正在使用jquery1.7.2 我有一个表单元素,用于收集电子邮件地址。当浏览器看到这样一个非常普通的名称时,它会用以前使用过的电子邮件地址预先填充元素。像这样: <input type='text' name='Email' id='Email'> var $Email = $('#Email'); 当通过键入或选择浏览器预填充选项更改此元素时,我想测试电子邮件地址。我目前正在收听以下更改和按键事件: $Email.change(doSomething); $Email.ke

我正在使用jquery1.7.2

我有一个表单元素,用于收集电子邮件地址。当浏览器看到这样一个非常普通的名称时,它会用以前使用过的电子邮件地址预先填充元素。像这样:

<input type='text' name='Email' id='Email'>
var $Email = $('#Email');
当通过键入或选择浏览器预填充选项更改此元素时,我想测试电子邮件地址。我目前正在收听以下更改和按键事件:

$Email.change(doSomething);
$Email.keyup(doSomething);
这一切都很完美。当用户单击表单元素时,浏览器会下拉以前使用过的电子邮件地址列表,用户会选择其中一个电子邮件地址,问题就会出现

更改事件未触发,因为电子邮件仍有焦点。由于用户未按任何键,因此不会触发keyup


当用户从浏览器预填充表单中选择选项时会触发什么事件?

另一种方法是通过向输入元素添加
autofill='off'
来禁用使用浏览器自动填充的功能


您还可以在字段失去焦点时更新它:
$Email.blur(doSomething)

另一种方法是通过向输入元素添加
autofill='off'
来禁用使用浏览器自动填充的功能


您还可以在字段失去焦点时更新它:
$Email.blur(doSomething)

尝试使用
输入事件。我正在尝试的事件列表如下:对,但正如您所发现的,这些都不起作用。在('input',function()上尝试
{…
input
一种事件类型吗?我以前从未听说过。是的,在现代浏览器中,每当您输入或删除输入元素中的内容时,它都会被触发。IE9仅部分支持它,它不会使用
input
事件在backspace或cutTry上触发事件。我正在尝试的事件列表如下:对,但正如您所发现的,这些都不起作用。请在('input',function()上尝试
{…
input
一种事件吗?我以前从未听说过它。是的,在现代浏览器中,当您输入或删除输入元素中的内容时,它会被触发。IE9仅部分支持它,它不会在backspace或cutChris上触发事件。我不应该使用修剪功能。我编辑了它。不,我希望人们在e能够选择自动填充的选项。当他们选择时会发生什么事件?他们离开(模糊)时,我已经可以正常工作了。啊,好的,只是确定一下。我从我的答案中删除了它,因为它不相关&你现在从问题中删除了它。嗯,如果
.blur()
不起作用,我不确定在这种情况下会发生什么。模糊确实起作用。但那是当用户从元素中失去焦点时。这里不会发生这种情况。当你选择自动填充选项时,你不会模糊。元素仍然有焦点。因此,模糊对我不起作用。克里斯,我不应该使用修剪功能。我编辑了它。不,我想要p人们可以选择自动填充的选项。但是当他们选择它时会发生什么事件?当他们离开(模糊)时,我已经工作得很好了。啊,好的,只是确定一下。我从我的答案中删除了它,因为它不相关&你现在从问题中删除了它。嗯,如果
.blur()
不起作用,我不确定在这种情况下会发生什么。模糊确实起作用。但当用户从元素中失去焦点时,就会发生这种情况。这里不会发生这种情况。当您选择自动填充选项时,不会模糊。元素仍然有焦点。因此,模糊对我不起作用。