重新定位Jquery UI自动完成结果框
我正在使用Jquery UI自动完成插件作为直接搜索术语建议工具。 它启动并运行没有问题,除了我无法移动结果框。 我基本上需要向左移动20个像素,向下移动4个像素。 我试图覆盖Jquery UI CSS,但无法重新定位该框。
任何有此问题经验的人的帮助将不胜感激。
这是你可以做到的一种方式,点击open
事件并在事件发生时更改菜单的位置:
$("#autocomplete").autocomplete({ appendTo: "#results", open: function() { var position = $("#results").position(), left = position.left, top = position.top; $("#results > ul").css({left: left + 20 + "px", top: top + 4 + "px" }); } });
我也使用appendTo
选项来查找包含菜单的ul
。 你可以在没有这个选项的情况下做到。
这是一个有效的例子: http : //jsfiddle.net/9QmPr/
这可以通过position
选项轻松实现,特别是offset
属性 :
$('#myField').autocomplete({ source: …, position: { offset: '20 4' // Shift 20px to the left, 4px down. } });
这样的东西也会起作用
open : function(){ $(".ui-autocomplete:visible").css({top:"+=5",left:"-=2"}); },
使用这个选项似乎更好
appendTo: "#autocomplete_target_wrapper", menudocking: { menucorner: "right top", inputcorner: "right bottom", collision: "none" }
官方链接https://forum.jquery.com/topic/autocomplete-menu-docking-position