如何判断浏览器是否自动填充了文本框?特别是使用自动填充页面加载的用户名和密码框.
我的第一个问题是在页面加载序列中何时发生这种情况?是在document.ready之前还是之后?
其次,我如何使用逻辑来确定是否发生这种情况?它不是我想阻止这种情况发生,只是挂钩事件.最好是这样的:
if (autoFilled == true) {
} else {
}
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我很乐意看到一个jsfiddle显示你的答案.
可能重复
- 这些问题并没有真正解释触发了什么事件,他们只是不断重新检查文本框(不利于性能!).
我有一个非常简单的形式.当用户键入输入字段时,我想更新他们在页面上其他位置键入的内容.一切正常.我已经绑定的更新的keyup,change和click事件.
唯一的问题是如果您从浏览器的自动完成框中选择一个输入,它就不会更新.从自动完成中选择时是否会触发任何事件(显然既不是change也不是click).请注意,如果您从自动完成框中选择并模糊输入字段,则会触发更新.我希望它能在自动完成后立即触发.
请参阅:http://jsfiddle.net/pYKKp/(希望您过去使用名为"email"的输入填写了很多表单).
<input name="email" />
<div id="whatever"><whatever></div>
Run Code Online (Sandbox Code Playgroud)
div {
float: right;
}
Run Code Online (Sandbox Code Playgroud)
$("input").on('keyup change click', function () {
var v = $(this).val();
if (v) {
$("#whatever").text(v);
}
else {
$("#whatever").text('<whatever>');
}
});
Run Code Online (Sandbox Code Playgroud)