1

我对 jquery ui 自动完成和 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);

到函数的外部,但我想以更优雅的方式做到这一点:-)
在此先感谢。

4

0 回答 0