表单输入历史选择事件

Posted

技术标签:

【中文标题】表单输入历史选择事件【英文标题】:Form input history select event 【发布时间】:2011-08-03 11:28:51 【问题描述】:

我一直在努力处理一些让用户输入大量重复数据的表单。在这些情况下,它可以帮助用户访问表单历史记录(即,选择他们已向其发送多个通知的人的姓名等。这里的问题是 在大多数浏览器中没有触发事件用户从他们的表单历史记录中选择了一段文本。因此,在 *** 上其他一些帖子的帮助下,我决定改用 setInterval

我现在正在寻找的是反馈,以发现任何可能是个坏主意的地方,以及任何可以改进的地方。

我在这里有一个演示 http://lab.atworkinthecloud.com/form-history-select/

【问题讨论】:

它似乎永远不会更新它的当前值变量,所以任何偏离第一个值的东西都被认为是“变化”。 谢谢,这需要更多的工作。 我也有同样的问题。但是,您的“setInterval”解决方案是我见过的唯一一个。 【参考方案1】:

我认为您的实施不应基于浏览器的行为(记住历史记录),这可能对用户可用,也可能不可用。 如果你想设计一个有用的界面,你应该自己提供对历史的访问,或者使用像autocomlete这样的功能

【讨论】:

我希望我没有被误解——这不是任何事情的“基础”。只需几行代码即可解决已确定的特定现有问题。【参考方案2】:

既然你如此频繁地触发处理程序,(而且我注意到你还绑定了propterychange事件),那为什么不只绑定propertychange,那样也可以。

您根本不需要绑定所有这些事件。

我遇到了同样的问题,但我还是更喜欢有一种方法,只在用户完成输入后触发处理程序。

【讨论】:

正如 OP 所述,当您单击表单历史记录中的项目时,即使您移动焦点,也不会触发“onchange”事件!

以上是关于表单输入历史选择事件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 自动完成:事件选择

JS表单验证 用tab键去选择的时候失效。

事件处理

点击事件失效? 绑不上点击事件

动态表单的jQuery选择器

表单重置按钮是否触发选择元素的onChange事件?