Commit 194874b3 authored by Leopoldthecoder's avatar Leopoldthecoder Committed by 杨奕

Message: restore focus only when target in viewport

parent aa09c460
......@@ -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() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment