1

我想在网页上使用 jQuery AutoComplete。该页面嵌入在应用程序的 IE 控件中。问题是在 IE7 和 8 中,控件无法正确呈现,如下图所示。

在此处输入图像描述

图片的顶部是jQuery 的示例页面如何在 Firefox 中加载(在 Chrome 和 IE9 中看起来很相似),底部显示了它在 IE7/8 中的呈现方式。我用红色圈出了这个问题——下拉箭头与控件的其余部分没有正确对齐。

如果我没记错的话,Windows Web 浏览器控件卡在 IE7 渲染模式,除非您修改某些注册表设置,这对我们来说是不可行的。我已经确认如果我通过 WebBrowser 控件查看自动完成组合框,即使我已经安装了 IE9,问题仍然存在于我的机器上。

有没有简单的方法可以通过 javascript/css 修复对齐?我最接近修复的是使用 css 调整高度,但我仍然无法让元素的顶部正确对齐。

或者,是否有人有一个带有 jsQuery 的免费自动完成组合框的解决方案,它不需要主题和/或在 IE7/8 中正确呈现?

IE7/8 上的另一个小问题是工具提示没有出现在正确的位置,但这不是一个大问题,因为此应用程序将删除工具提示。

我已将 jQuery 演示中的源代码加载到 jsFiddle 中:

http://jsfiddle.net/TTShr/66/

这是创建箭头按钮的代码:

    $("<a>")
            .attr("tabIndex", -1)
            .attr("title", "Show All Items")
            .tooltip()
            .appendTo(this.wrapper)
            .button({
            icons: {
                primary: "ui-icon-triangle-1-s"
            },
            text: false
        })
            .removeClass("ui-corner-all")
            .addClass("custom-combobox-toggle ui-corner-right")
            .mousedown(function () {
            wasOpen = input.autocomplete("widget").is(":visible");
        })
            .click(function () {
            input.focus();
            // Close if already visible
            if (wasOpen) {
                return;
            }
            // Pass empty string as value to search for, displaying all results
            input.autocomplete("search", "");
        });
4

0 回答 0