IE7/IE8 中的appendTo 和其他dom 操纵器问题
我对 jquery ui 自动完成和 IE7/8 有一个奇怪的行为。 自动完成的默认行为是创建 UL 并将其附加到页面的主体。就我而言,我想将此 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').children('ul.ui-autocomplete').appendTo(outerDiv);
,但我想以更优雅的方式来做到这一点:-)
提前致谢。
I've a strange behaviour with jquery ui autocomplete and IE7/8.
The default behaviour of autocomplete is to create a UL and append it to the BODY of the page. In my case i want to append this UL to the DIV that also has the INPUT (where the autocomplete is triggered).
So i've done this:
(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);
This works fine on Firefox/Chrome, but IE7/8 doesn't append the UL to to the outerDiv, it just lets the UL appended to the BODY of the page.
I solved my problem, by actually passing the
$('body').children('ul.ui-autocomplete').appendTo(outerDiv);
to the outside of the function, but i would like to do it in a more elegant way :-)
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论