【发布时间】:2010-11-30 16:40:19
【问题描述】:
我正在使用 OnKeyUp 验证字段。不幸的是,当用户在浏览器中选择自动完成建议时,它没有运行。
我想知道当用户点击浏览器输入建议时是否有任何方法可以触发我的 JavaScript。
【问题讨论】:
-
最佳解决方案,禁用自动完成,并使用文本框中的原始值...
标签: javascript autocomplete validation onkeyup
我正在使用 OnKeyUp 验证字段。不幸的是,当用户在浏览器中选择自动完成建议时,它没有运行。
我想知道当用户点击浏览器输入建议时是否有任何方法可以触发我的 JavaScript。
【问题讨论】:
标签: javascript autocomplete validation onkeyup
对于IE,你可以收听onpropertychange。对于 FF/Chrome,可以收听oninput。如果您没有处于 quirks 模式,IE9 支持 oninput,因此您可能需要某种浏览器嗅探或功能检测代码来防止事件触发两次。
Here is a working JSFiddle。您必须输入一些值并提交一次,以使其出现在浏览器的自动完成历史记录中。然后你会看到当你点击自动完成建议时它会触发什么事件。
另一种选择是完全禁用给定输入字段的自动完成功能:
<input type="text" name="myfield" id="myfield" autocomplete="off" />
【讨论】:
您可以采取的一种选择是使用 YUI 的自定义事件模型触发事件 http://developer.yahoo.com/yui/event/#customevent
通过这样做,您可以明确地触发/触发您认为合适的方式
【讨论】: