我正在使用日期选择器,但我对它决定将日期选择器放在屏幕上的位置感到有些困惑。在一个屏幕上它很好但在另一个屏幕上它被卡在一个闪光对象后面。我可以强制它附加到点击日期按钮的地方的右下角吗?我正在查看firebug,它似乎只有CSS中随机的左下角变量,我不知道它们从哪里拉出来。感谢
答案 0 :(得分:1)
在尝试重新定位日期字段的菜单之前,请尝试将Flash对象的'wmode'属性设置为'opaque'。根据Flash对象的嵌入方式,这应该允许菜单显示在其上方。
如果您仍想强制菜单的新对齐位置,请尝试覆盖DateField实例的onTriggerClick方法:
new Ext.form.DateField({
fieldLabel: 'Choose a date',
onTriggerClick: function() {
Ext.form.DateField.prototype.onTriggerClick.call(this);
this.menu.show(this.el, 'tl-br?');
}
});
此对齐是菜单的左上角和字段的右下角。请参阅Ext.Element.alignTo的文档,以获取传递给show方法的第二个参数的其他可能值。
这有点像黑客,因为它导致菜单的show方法被调用两次,但另一种方法是重写onTriggerClick以在第一次调用时传递你选择的位置。
答案 1 :(得分:0)
在版本> = 4.0.0中使用pickerAlign属性。
例如:
{
xtype: 'datefield',
fieldLabel: 'Date',
pickerAlign: 't-br?'
}
来自owlness的关于在Ext.Element.alignTo上查看文档以获取有关pickerAlign如何工作的解释的建议仍然有效。