Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 在chrome中放大页面后,jQuery自动完成插件建议弹出窗口位置不正确_Jquery Ui - Fatal编程技术网

Jquery ui 在chrome中放大页面后,jQuery自动完成插件建议弹出窗口位置不正确

Jquery ui 在chrome中放大页面后,jQuery自动完成插件建议弹出窗口位置不正确,jquery-ui,Jquery Ui,我使用jQuery自动完成插件 当我访问一个页面并开始在“自动完成”文本框中键入时-如果我放大(或缩小)页面并在同一框中键入文本,建议正确显示-建议div的位置不正确 自动完成在IE和FF中都可以正常工作 如果我在第一次使用autocomplete之前缩放页面,autocomplete可以正常工作 jqueryui:1.9.0 Chrome:版本22.0.1229.94 m 如何解决这个问题?我刚刚遇到了完全相同的问题,整个星期都在寻找解决方案 您需要添加以下css来覆盖jquery生成的位置:

我使用jQuery自动完成插件

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

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

如果我在第一次使用autocomplete之前缩放页面,autocomplete可以正常工作

jqueryui:1.9.0 Chrome:版本22.0.1229.94 m


如何解决这个问题?

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

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

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

我希望我的回答能对其他人有所帮助。

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

        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);
                }
            }
        });