我正在使用jQuery 1.7.2
我有一个用于收集电子邮件地址的表单元素。当浏览器看到这样一个非常常见的名称时,它会使用之前使用过的电子邮件地址预先填充该元素。像这样:
<input type='text' name='Email' id='Email'>
我将元素放入变量中供以后使用。像这样:
var $Email = $('#Email');
通过输入或选择浏览器预填充选项更改此元素时,我想测试电子邮件地址。我目前正在收听像这样的变更和密钥事件:
$Email.change(doSomething);
$Email.keyup(doSomething);
这一切都很完美。当用户点击表单元素并且浏览器删除已使用的先前电子邮件地址列表并且用户选择其中一个电子邮件地址时,就会出现问题。
由于电子邮件仍具有焦点,因此未触发更改事件。由于用户没有按任何键,因此不会触发该键盘。
当用户从浏览器预填表单中选择选项时会触发什么事件?
答案 0 :(得分:1)
另一种方法是通过将autofill='off'
添加到输入元素来禁用使用浏览器自动填充的功能。
当字段失去焦点时,您也可以更新它:$Email.blur(doSomething);