检测自动填充何时可见

时间:2009-10-21 03:18:26

标签: javascript events forms

我正在我的表单中捕捉按键输入,以防止它提交表单,除非它是最后一个输入;否则,它充当选项卡(找到下一个输入并关注它)。

如果选择浏览器自动完成,有关如何触发event.preventDefault()的任何想法?

1 个答案:

答案 0 :(得分:0)

我不知道您是使用特定插件还是能够轻松修改自动完成源代码,但我会尝试这样做:

  • 找到用于触发自动填充显示的功能
  • 触发自动填充的可见性时设置布尔值(true表示可见,false表示不是)
  • 每当您尝试捕获输入(或制表符)时检查布尔值的状态

请注意,您必须在自动完成对象的上下文中公开访问布尔值。

同样,如果不了解具体情况,如果您的实施很难说如何最好地改变它,但 可以像这样工作:

var Autocomplete = {
  bIsVisible: false,
  display: function() {
    // toggle visibility of the autocomplete
    this.bIsVisible = !this.bIsVisible;
  }
}

然后你可以通过做这样的事情来利用它:

alert(Autocomplete.bIsVisible); // returns false
Autocomplete.display(); // triggers the display of the autocomplete
alert(Autocomplete.bIsVisible); // returns true