您如何判断浏览器是否自动填充了文本框?尤其是用户名和密码框可自动填充页面加载。
我的第一个问题是页面加载序列何时发生?是在document.ready之前还是之后?
其次,我该如何使用逻辑找出这种情况是否发生?它不是我想阻止这种情况发生,只是挂接到事件中。最好是这样的:
if (autoFilled == true) { } else { }
如果可能的话,我希望看到一个jsfiddle显示您的答案。
问题是自动填充由不同的浏览器处理。有些派遣变更事件,有些则没有。因此,几乎不可能挂接在浏览器自动完成输入字段时触发的事件。
更改不同浏览器的事件触发器:
对于用户名/密码字段:
Firefox 4,IE 7和IE 8不会调度change事件。
对于其他表单字段:
IE 7和IE 8不会调度change事件。
最好的选择是禁用在表单中使用autocomplete="off"的表单的自动完成功能,或者定期轮询以查看其是否已填写。
autocomplete="off"
关于您是否在文档上填充文档或文档之前的问题,请再次阅读,不同的浏览器甚至不同的版本都有不同。对于用户名/密码字段,仅当您选择用户名时才填写密码字段。因此,如果您尝试附加到任何事件,那么总共会有一个非常混乱的代码。