Jquery 单击区域下的弹出列表
您好,我有一些简单的弹出列表,显示一旦我点击下拉菜单选项。不幸的是,弹出窗口位于CSS绝对模式下,没有它,弹出窗口将位于页面下。Jquery 单击区域下的弹出列表,jquery,html,popup,position,cross-browser,Jquery,Html,Popup,Position,Cross Browser,您好,我有一些简单的弹出列表,显示一旦我点击下拉菜单选项。不幸的是,弹出窗口位于CSS绝对模式下,没有它,弹出窗口将位于页面下。 此外,它在不同的浏览器中显示在不同的位置 $self.next().bind('click', viewList); if (!settings.appendTo) { $self.after(createDropdown($self, selectboxCounter)); } else { var offset = $s
此外,它在不同的浏览器中显示在不同的位置
$self.next().bind('click', viewList);
if (!settings.appendTo) {
$self.after(createDropdown($self, selectboxCounter));
} else {
var offset = $self.parent().offset();
$(settings.appendTo).append(createDropdown($self, selectboxCounter).css({
'top': offset.top,
'left': offset.left,
'width': 100//'width': $self.parent().width() * 0.8
}));
}
}
$self.trigger('change');
selectboxCounter++;
});
// Hide dropdown when click is outside of the input or dropdown
$(document).bind('click', hideDropdown);
$('.sb-custom').find('.sb-select').live('keydown', selectKeypress);
$('.sb-custom').bind('blur', clearKeyStrokes);
$(document).delegate('.sb-dropdown', 'focus', viewList);
return this;
};
我想将弹出窗口放置在父选择的位置或菜单位置。而且还要适应不同的浏览器。最近我在帮助开发一个小部件时遇到了这个问题。我们提出的解决方案是将弹出列表绑定到文档体。以主体为父对象,我们不必担心隐藏弹出窗口的其他元素。然后我们完全根据它从何处弹出来定位它
$self.next().bind('click', viewList);
if (!settings.appendTo) {
$self.after(createDropdown($self, selectboxCounter));
} else {
var offset = $self.parent().offset();
$(settings.appendTo).append(createDropdown($self, selectboxCounter).css({
'top': offset.top,
'left': offset.left,
'width': 100//'width': $self.parent().width() * 0.8
}));
}
}
$self.trigger('change');
selectboxCounter++;
});
// Hide dropdown when click is outside of the input or dropdown
$(document).bind('click', hideDropdown);
$('.sb-custom').find('.sb-select').live('keydown', selectKeypress);
$('.sb-custom').bind('blur', clearKeyStrokes);
$(document).delegate('.sb-dropdown', 'focus', viewList);
return this;
};
var offset = $("#popupFromHere").offset();
$("#popup")
.appendTo("body")
.css({
left: offset.left
top: offset.top + $this.outerHeight(true)
});
你能修改你的示例代码吗?如果没有它,问题就很难在jsfiddle.net或jsbin.com上输出HTML和JS