javascript - 针对特定情况替代 .change()
问题描述
我想要达到的目标:
我有一个使用 jquery ui 自动完成功能的文本框,我想要实现的是当一个选项被单击并从自动完成下拉列表中选择时,我希望触发一个事件。
问题
我遇到的问题是,我尝试使用 .change() ,但它只会在您单击元素时触发。(这个问题之前在这篇文章中已经问过为什么jQuery.change() 只在我离开元素时触发?)。
但是,在这种情况下,该线程中的解决方案对我没有用。因为我希望在选择下拉列表中的元素并将其加载到文本框中时触发事件。我不想点击文本框来触发 .change() 事件。
理想的结果:
当用户从自动完成列表中选择一个选项时,它会触发事件,而无需用户点击离开文本框。
我想要发生的有问题的事件是,一旦用户选择一个选项,自动完成文本框就会被隐藏:
$(search_box).change( function () {
$(search_box).hide();
} );
这可行,但正如我上面提到的,用户必须点击离开才能触发更改事件。有什么解决方法吗?
解决方案
您可以autocompleteselect
按原样使用事件处理
$( ".selector" ).on( "autocompleteselect", function( event, ui ) {} );
程序
当从菜单中选择一个项目时触发。默认操作是将文本字段的值替换为所选项目的值。
推荐阅读
- python - 虚拟环境中没有名为“熊猫”的模块
- c# - 如何从面板传递 EventHandler 以启用父窗体中的按钮?
- flutter - 如何在不影响 Flutter 中的原始列表的情况下将列表执行深层复制到另一个列表
- html - 将鼠标悬停在框上,用灰度过滤另一个
- react-native - iOS:应用程序在后台时无法播放声音
- vba - 具有多值字段和子表单的重复表单按钮
- php - 如何将代码从控制器分离到存储库和工厂
- javascript - 有没有办法直接使用 discord api 获取用户 pfp
- c++ - C++如何优化这个算法?(标准::地图)
- html - 如何在 XPath 中选择包含特殊字符的元素?