我想在网页上使用jQuery AutoComplete。该页面嵌入在应用程序的IE Control中。问题是在IE7和8中,控件无法正确呈现,如下图所示。
图片的上半部分是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:
这是创建箭头按钮的代码:
$("<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", "");
});