我对jquery ui autocomplete和IE7 / 8有一个奇怪的行为。 自动完成的默认行为是创建UL并将其附加到页面的BODY。在我的情况下,我想将此UL附加到也具有INPUT的DIV(触发自动完成的位置)。 所以我做到了这一点:
(function($) {
$.widget("ui.combobox", {
_create: function() {
var select = this.element.hide();
var outerDiv = $("<div>")
.insertAfter(select);
//Autocomplete code...
.
.
$('body').children('ul.ui-autocomplete').appendTo(outerDiv);
}
});
})(jQuery);
这在Firefox / Chrome上工作正常,但是IE7 / 8没有将UL附加到outerDiv,它只是将UL附加到页面的BODY。 我通过实际传递
解决了我的问题$('body').children('ul.ui-autocomplete').appendTo(outerDiv);
到函数的外部,但我想以更优雅的方式进行:-)
提前谢谢。