IE7 / 8上的jQuery AutoComplete组合框问题

时间:2013-05-16 15:31:49

标签: jquery internet-explorer-8 autocomplete combobox internet-explorer-7

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

enter image description here

图片的上半部分是jQuery's example page在Firefox中加载的方式(在Chrome和IE9中看起来类似),底部显示了它在IE7 / 8中的呈现方式。我用红色圈出了问题 - 下拉箭头与控件的其余部分没有正确对齐。

如果我没弄错,Windows Web浏览器控件在IE7渲染模式下会被卡住,除非你modify certain registry settings对我们不可行。我已经确认,如果我通过WebBrowser控件查看AutoComplete Combobox,即使我安装了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", "");
        });

0 个答案:

没有答案