2

我正在尝试检测 djitComboBoxMenuPopup 向上或向下打开的方向。我的目标是在向上扩展而不是向下扩展时应用不同的样式。有没有内置的方法来检测这个?

4

1 回答 1

4

我不确定是否提供了执行此操作的功能,但是您可以通过检查客户端两个元素的位置来“破解”您自己的功能。为此,请使用每个comboBox.domNode.getBoundingClientRect().topcomboBox.dropDown.domNode.getBoundingClientRect().top

然后在 if 中使用这些值来确定哪个在哪个之上呈现。

例子:

var comboTop = comboBox.domNode.getBoundingClientRect().top;
var dropDownTop = comboBox.dropDown.domNode.getBoundingClientRect().top;

if( dropDownTop < comboTop ){
    //Drop down is above combo
} else {
    //Drop down is below combo    
}

对的支持getBoundingClientRect()可能因浏览器而异,但我的理解是所有现代浏览器版本都支持它。

于 2013-09-16T17:35:07.793 回答