更改自动完成器的宽度

Changing the width of Autocompleter

我一直在使用 ace 自动完成器,我遇到过单词长度比 ace 自动完成器的默认宽度大得多的情况。

我已经添加了一些 CSS 以将水平滚动引入自动完成,但列表底部的单词正在被删除。有没有人遇到过类似的问题并进行了一些修复以显示长名称?

我已经解决了这个问题,方法是获取自动完成器中最长字符串的长度,然后制作一个 span 来复制具有相同字体大小和字体系列的相同字符串,以便我可以确定字符串的宽度。

                $('body').append("<span id='longText'></span>");
                var longElement = $('body').find("#longText");

                longElement.text(longestValue); //longestValue containts the Long String
                var longeElementWidth = longElement.width();
                var autoCompleterWidth = $(".ace_autocomplete").width();

                if (longeElementWidth > autoCompleterWidth) {
                    var newAutoCompleteWidth = longeElementWidth + 15 + "px";

                    $(".ace_editor.ace_autocomplete").width(newAutoCompleteWidth);
                } else {
                    //Defaulting the width of the autocompleter to 350px
                    $(".ace_editor.ace_autocomplete").width("350px");
                }                        
                longElement.remove();