mirror of
https://gitee.com/ElemeFE/element.git
synced 2024-11-30 11:17:38 +08:00
Message: restore focus only when target in viewport
This commit is contained in:
parent
aa09c460ff
commit
194874b3b2
@ -87,7 +87,18 @@
|
||||
if (typeof this.onClose === 'function') {
|
||||
this.onClose(this);
|
||||
}
|
||||
this.originFocus && this.originFocus.focus(); // 键盘焦点回归
|
||||
if (!this.originFocus || !this.originFocus.getBoundingClientRect) return;
|
||||
|
||||
// restore keyboard focus
|
||||
const { top, left, bottom, right } = this.originFocus.getBoundingClientRect();
|
||||
const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
|
||||
const viewportWidth = window.innerWidth || document.documentElement.clientWidth;
|
||||
if (top >= 0 &&
|
||||
left >= 0 &&
|
||||
bottom <= viewportHeight &&
|
||||
right <= viewportWidth) {
|
||||
this.originFocus.focus();
|
||||
}
|
||||
},
|
||||
|
||||
clearTimer() {
|
||||
|
Loading…
Reference in New Issue
Block a user