javascript事件

javascript事件,javascript,Javascript,我有一个有趣的问题,我希望..我的表单中有一个textarea..当用户在其中输入值时,它会以自动完成的格式显示一些缓存值..这很好..我想在用户选择缓存值后调用ajax函数..这样ajax调用应该传递这个选定值..所以我的问题是,我可以从哪获得最终选定值,所以我当时叫ajax,。。。我尝试了onblur等,但没有成功 请帮帮我。。 提前感谢…如果用户通过单击进行选择,则需要在用户正在选择的元素或包含的元素上使用“单击”处理程序 如果用户可以通过其他方式进行选择,例如通过键盘进行选择,那么您还需

我有一个有趣的问题,我希望..我的表单中有一个textarea..当用户在其中输入值时,它会以自动完成的格式显示一些缓存值..这很好..我想在用户选择缓存值后调用ajax函数..这样ajax调用应该传递这个选定值..所以我的问题是,我可以从哪获得最终选定值,所以我当时叫ajax,。。。我尝试了onblur等,但没有成功

请帮帮我。。
提前感谢…

如果用户通过单击进行选择,则需要在用户正在选择的元素或包含的元素上使用“单击”处理程序


如果用户可以通过其他方式进行选择,例如通过键盘进行选择,那么您还需要观察其他事件。

您的意思是要检测用户是否通过浏览器的本机自动完成查找来选择值,而不是自己键入

我敢肯定,没有什么事件能抓住这一点

唯一想到的解决方法是分析用户在输入字段中的按键事件。如果输入的键与文本字段中的完整字符串不匹配,并且没有触发onpaste事件,则该值是从自动完成中选择的


不过,这将很难实现,而且决不是100%可靠。

正如Pekka上面所说,这种功能可能需要处理特定于浏览器的事件,但这是可能的

对于IE,请查看IE中对onpropertychange事件的引用

对于Firefox,看起来其他人已经通过onBlur和onFocus的组合解决了这个问题


如果您提出了跨浏览器解决方案,请让我们知道

自动完成功能使用什么?我不认为从自动完成查找中选择元素算作文本输入上的单击事件。不,它不是文本输入上的单击。单击选定的图元。在scriptaculous AutoComplete(我唯一使用过的)中,选项是在使用AutoComplete之前隐藏的元素:您可以在其上放置一个“单击”处理程序。我不知道您正在使用的自动完成程序是如何组织数据的,但如果它显示的是项目,则它们有DOM元素,原则上您可以在这些元素上设置事件处理程序。用户也可以直接输入值。所有情况都是possible@sooraj不容易,,没有。我怀疑是否存在此插件-您必须自己构建。是否有其他方法找到此插件,因为在选择后,文本区域中填充了COS数据,所以为什么在任何情况下都不会触发此插件…或者以间接方式,我们可以通过放置一些div或类似的东西来触发..?@sooraj我不这么认为。您可能需要使用自己的自动完成功能来完成此操作。