如何查看dojo组合框下拉列表是否显示为up或down?

时间:2013-08-30 22:36:43

标签: combobox popup dojo

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

1 个答案:

答案 0 :(得分: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()的支持因浏览器而异,但我的理解是它受到所有现代浏览器版本的支持。