1

我正在使用 jQuery 1.7.2

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

<input type='text' name='Email' id='Email'>

我将元素放入一个变量中以备后用。像这样:

var $Email = $('#Email');

当通过键入或选择浏览器预填充选项更改此元素时,我想测试电子邮件地址。我目前正在监听这样的更改和键位事件:

$Email.change(doSomething);
$Email.keyup(doSomething);

这一切都完美无缺。当用户单击表单元素并且浏览器下拉列表已使用的先前电子邮件地址并且用户选择其中一个电子邮件地址时,就会出现问题。

未触发更改事件,因为电子邮件仍具有焦点。由于用户尚未按下键,因此未触发 keyup。

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

4

1 回答 1

1

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

当字段失去焦点时,您也可以更新它:$Email.blur(doSomething);

于 2013-03-01T21:44:28.287 回答