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 に追加せず、ページの BODY に UL を追加するだけです。実際に渡すことで、問題を解決しました

$('body').children('ul.ui-autocomplete').appendTo(outerDiv);

関数の外側に、しかし私はよりエレガントな方法でそれをしたいと思います:-)
前もって感謝します。

4

0 に答える 0