【问题标题】:Input Onkeyup can be avoided by form autocomplete表单自动完成可以避免输入 Onkeyup
【发布时间】:2010-11-30 16:40:19
【问题描述】:

我正在使用 OnKeyUp 验证字段。不幸的是,当用户在浏览器中选择自动完成建议时,它没有运行。

我想知道当用户点击浏览器输入建议时是否有任何方法可以触发我的 JavaScript。

【问题讨论】:

  • 最佳解决方案,禁用自动完成,并使用文本框中的原始值...

标签: javascript autocomplete validation onkeyup


【解决方案1】:

对于IE,你可以收听onpropertychange。对于 FF/Chrome,可以收听oninput。如果您没有处于 quirks 模式,IE9 支持 oninput,因此您可能需要某种浏览器嗅探或功能检测代码来防止事件触发两次。

Here is a working JSFiddle。您必须输入一些值并提交一次,以使其出现在浏览器的自动完成历史记录中。然后你会看到当你点击自动完成建议时它会触发什么事件。

另一种选择是完全禁用给定输入字段的自动完成功能:

<input type="text" name="myfield" id="myfield" autocomplete="off" />

【讨论】:

    【解决方案2】:

    您可以采取的一种选择是使用 YUI 的自定义事件模型触发事件 http://developer.yahoo.com/yui/event/#customevent

    通过这样做,您可以明确地触发/触发您认为合适的方式

    【讨论】:

    • 我认为这不能解决他的问题。他无法知道何时显式触发触发器,因为 JS 中没有任何内容告诉他用户点击了自动完成建议。
    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 2014-03-18
    • 2021-04-14
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    相关资源
    最近更新 更多