为什么打开弹出窗口会关闭 select?
Why opening popover closes select?
我试图在鼠标悬停在 select 控件的选项上时打开弹出窗口
但每次弹出窗口时 select 都会关闭。
_assignMouseOverPopover: function (select, popover) {
var items = select.getItems();
items.forEach(element => {
element.addEventDelegate({
onmouseover: this._showHoverPopover.bind(this, popover, element),
onmouseout: this._hideHoverPopover.bind(this, popover)
})
})
},
_showHoverPopover: function (popover, element, select) {
this._timeId = setTimeout(() => {
popover.openBy(element);
}, 100);
},
_hideHoverPopover: function (popover){
clearTimeout(this._timeId) || popover.close();
},
这是因为弹出框和下拉列表都使用相同的 id "sap-ui-static" 呈现。创建一个弹出窗口并打开它;并使用调试器工具检查 html 元素。您会看到它呈现在 ID 为 "sap-ui-static".
的 DIV 元素下
创建一个select元素,然后打开下拉列表; ;并使用调试器工具检查 html 元素。您会看到列表呈现在 ID 为 "sap-ui-static".
的 DIV 元素下
我试图在鼠标悬停在 select 控件的选项上时打开弹出窗口 但每次弹出窗口时 select 都会关闭。
_assignMouseOverPopover: function (select, popover) {
var items = select.getItems();
items.forEach(element => {
element.addEventDelegate({
onmouseover: this._showHoverPopover.bind(this, popover, element),
onmouseout: this._hideHoverPopover.bind(this, popover)
})
})
},
_showHoverPopover: function (popover, element, select) {
this._timeId = setTimeout(() => {
popover.openBy(element);
}, 100);
},
_hideHoverPopover: function (popover){
clearTimeout(this._timeId) || popover.close();
},
这是因为弹出框和下拉列表都使用相同的 id "sap-ui-static" 呈现。创建一个弹出窗口并打开它;并使用调试器工具检查 html 元素。您会看到它呈现在 ID 为 "sap-ui-static".
的 DIV 元素下创建一个select元素,然后打开下拉列表; ;并使用调试器工具检查 html 元素。您会看到列表呈现在 ID 为 "sap-ui-static".
的 DIV 元素下