jquery - 浏览器文本框自动完成事件,什么时候发生?

标签 jquery dom autocomplete

如果我autocomplete="off"在我的<input type="text" />上浏览器有时会用可能/记住的数据填充它们。

在 DOM 加载生命周期中什么时候会发生这种情况?

它似乎是在之后:

$(function(){ alert('i happen before autocomplete'); });

表单自动完成之后是否发生 dom-load 事件?

如果是这样,那是什么?

如果没有,呃,我该怎么做才能“在页面加载时”执行一些 JS,但在自动完成之后?

解决方案需要跨浏览器

谢谢

安德鲁

最佳答案

您可以尝试一下$(window).load(callback)。这将等到所有内容都完全加载(图像等),而不是像 $(document).ready 那样在 DOM 加载之后。

我不能 100% 确定它是否发生在自动完成之前,但它肯定会发生在 DOM 准备好之后。

或者,您可以尝试在 DOM 准备就绪时注册“一次性”更改事件处理程序,如下所示:

$(document).ready(function() {
    $('input').one('click', function() { 
        // do whatever you wanted to do when it first changed
    });
});

这只会在字段第一次更改时触发。唯一的问题是浏览器在执行自动完成时是否会触发更改事件。

关于jquery - 浏览器文本框自动完成事件,什么时候发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1567610/

相关文章:

jquery - 位置 :fixed element inside fixed size div

javascript - jQuery 在 DOM 中使用索引来提高性能吗?

javascript - 显示分数后按钮消失

javascript - 如何在 Javascript 中获取字母表中的下一个字母?

php - WordPress 中的自动完成搜索功能会不断填充数据库中的所有职位名称

javascript - 无法处理 ajax 中的 302 重定向,为什么?

jquery - 如何使用隐藏字段通过 ID/值对使用 jquery 自动完成

函数的javascript回调

javascript - 在JS中存储对HTML元素的引用,约定是什么?

ios - 文本更改动画与 ios 8 键盘文本预测相同