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

时间:2009-10-14 16:54:34

标签: jquery dom autocomplete

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

这在DOM负载生命周期中何时发生?

似乎是在:

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

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

如果是这样,它是什么?

如果没有,嗯,我怎样才能在页面加载时执行一些JS,但是在自动完成之后呢?

解决方案需要跨浏览器

由于

安德鲁

1 个答案:

答案 0 :(得分:4)

您可以尝试$(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
    });
});

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