3

我使用 jQuery 自动完成插件。

当我访问一个页面并开始在自动完成的文本框中输入时 - 如果我放大(放大或缩小)页面并将文本输入到同一个框中,建议会正确显示 - 建议 div 的位置不正确。

自动完成在 IE 和 FF 中都可以正常工作。

如果我在第一次使用自动完成之前缩放页面- 自动完成工作正常。

jQuery UI:1.9.0 Chrome:版本 22.0.1229.94 m

我该如何解决?

4

2 回答 2

1

我刚刚遇到了完全相同的问题,并且整个星期都在寻找解决方案。

您需要添加以下 css 来覆盖生成的 jqueryposition: relative

.ui-autocomplete {
    position: absolute!important;
}

我希望我的回答对某人有所帮助。

于 2013-05-24T07:22:04.017 回答
0

帮助我的一种方法是记住上次打开的自动完成输入并为浏览器窗口的缩放编写事件处理函数,以便在每次调整大小时手动刷新。同样的事情适用于日期选择器。你甚至可以通过设置一个小的超时来保存一些刷新:

        var lastOpenedInput;
        myInput.on('autocompleteopen', function (event) {
            lastOpenedInput = $(event.target);
        }

        $(window).on('resize', function () {
            if (lastOpenedInput !== undefined) {
                if (lastOpenedInput.autocomplete('widget').css('display') !== 'none') {
                    lastOpenedInput.autocomplete('search');
                }
                if (lastOpenedInput.datepicker('widget').css('display') !== 'none') {
                    lastOpenedInput.datepicker('hide');
                    setTimeout(function () {
                        lastOpenedInput.datepicker('show');
                    }, 1000);
                }
            }
        });
于 2017-08-02T13:28:33.983 回答