/**
* @param {string|HTMLElement} checker DOM对象或对象名ID字符串
*如果对象是INPUT则获得焦点,并滚动到当前位置
*如果不是INPUT对象,则只滚动到当前位置
*/
export const nodeToFocus = (checker) => {
//检查是否是DOM对象,如果不是则转换成DOM对象
if (!(checker instanceof HTMLElement)) {
checker = document.getElementById(checker);
}
if (checker) {
var rect = checker.getBoundingClientRect();
////如果是input对象,延迟300ms获得焦点,如果不延迟可能无法正常获得焦点
if (checker.nodeName.toLowerCase() === "input") {
setTimeout(() => {
checker.focus();
}, 300);
}
//移动滚动条到对象位置
window.scrollTo({ left: rect.left, top: rect.top, behavior: "smooth" });
}
};
/**
* End nodeToFocus
*/