keyjump

script.js
  document.addEventListener('keydown', (event) => {
    if (event.ctrlKey && event.code === 'KeyO') {
      event.preventDefault()
      const cursor = document.getElementsByClassName('cursor')[0]
      if (cursor.style.display === 'none') {
        return document.getElementById('text-input').focus()
      }
      if (cursor) {
        const {x, y} = cursor.getBoundingClientRect()
        let diff = 1
        let el
        while(true) {
          if(x - diff < 0) {
            break
          }
          el = document.elementFromPoint(x - diff, y)
          if (el.tagName === 'SPAN') {
            break
          }
          el = document.elementFromPoint(x + diff, y)
          if (el.tagname === 'SPAN') {
            break
          }
          diff += 1
        }
        const {parentElement} = el
        if (parentElement.getAttribute('type') === 'link') {
          parentElement.click()
        }
      } else {
        document.getElementById('text-input').focus()
      }
    }
  })

#20200509 #0509

関連ページとランダムに選ばれたページ

筆者について

jigsaw(ジグソウ、1991年6月12日-)は日本のプログラマ、会社代表。本名は小林貴也(こばやし たかや)。主にウェブ、フロントエンド領域で活動している。カミング・スーン合同会社の代表社員。
さらに詳しく

寄附について

面白かったらBTCETHでの寄附をお待ちしております。
寄附のきろく