我正在尝试检测djitComboBoxMenuPopup打开,向上或向下的方向。我的目标是在扩展时应用不同的样式,而不是向下扩展。有没有内置的方法来检测这个?
答案 0 :(得分:4)
我不确定是否提供了执行此操作的功能,但您可以通过检查客户端两个元素的位置来“破解”您自己的功能。为此,请使用comboBox.domNode.getBoundingClientRect().top
和comboBox.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()
的支持因浏览器而异,但我的理解是它受到所有现代浏览器版本的支持。