移动jQueryUI自动完成的位置
如何将jQueryUI自动完成显示列表的位置向下移动一点 我可以使用移动jQueryUI自动完成的位置,jquery,css,jquery-ui,jquery-ui-autocomplete,Jquery,Css,Jquery Ui,Jquery Ui Autocomplete,如何将jQueryUI自动完成显示列表的位置向下移动一点 我可以使用var ul=$(“#字段”).autocomplete().autocomplete('widget') 但是,在ul上使用offset()不起作用,因为当小部件打开时,会定位ul 请参阅。jQueryUI插件更改自动完成元素样式,以便将其放置在文本字段旁边。 因为样式属性只能使用重写!重要的关键字,不建议更改插件的代码以绕过该关键字,您可以使用以下CSS: .ui-autocomplete { top: 100px !i
var ul=$(“#字段”).autocomplete().autocomplete('widget')代码>
但是,在ul
上使用offset()
不起作用,因为当小部件打开时,会定位ul
请参阅。jQueryUI插件更改自动完成元素样式,以便将其放置在文本字段旁边。
因为样式属性只能使用重写!重要的
关键字,不建议更改插件的代码以绕过该关键字,您可以使用以下CSS:
.ui-autocomplete {
top: 100px !important;
}
不确定这是否是最好的,但有一个选择是:
open: function(event, ui) {
var ul = $(this).autocomplete('widget'),offset=ul.offset();
ul.offset({top:offset.top+20}) //Move 20px down
},
您可以使用“位置选项”字段,如下面的代码段中所示,其中我在自动完成时向右移动了100
var ul=$("#field").autocomplete({
source: countries_starting_with_A,
minLength: 1,
position: { my : "left top+20", at: "left bottom" },
select: function(event, ui) {
............................................
身份证件
国家(以A开头)
Hi Eburge,您知道无论主题如何,自动完成列表的位置是否总是相同的吗?这些似乎是更“正确”的解决方案,但是,实施当前显示它向右移动,而不是向下移动。我们能做相对运动吗?我更新了片段,就像你用偏移量做的一样,我用位置重复了一遍。啊,你明白了!请解释一下为什么{my:“left top+20”,at:“left bottom”}
会执行它的功能?是的,它会执行您尝试对偏移量执行的操作,因为元素的位置现在是top+20,而输入的“at”必须位于左侧和底部位置。我的偏移解决方案也起作用。我只是觉得你的解决方案更正式。谢谢你的帮助!