全栈小学生 de48812edf up
2024-12-12 18:29:50 +08:00

2 lines
835 B
JavaScript

const r='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',a=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,o=e=>Array.from(e.querySelectorAll(r)).filter(t=>s(t)&&a(t)),s=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},u=function(e,t,...i){let n;t.includes("mouse")||t.includes("click")?n="MouseEvents":t.includes("key")?n="KeyboardEvent":n="HTMLEvents";const d=document.createEvent(n);return d.initEvent(t,...i),e.dispatchEvent(d),e};export{o,u as t};