Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk mendapatkan koordinat acara sentuhan dalam kanvas dalam kanvas asli?

Apabila kanvas bertindak balas kepada acara turun tetikus, ia boleh mengekstrak koordinat dalaman elemen melalui event.offsetX dan offsetY Kemudian saya menukar kepada touchstart dan tiada offsetX dan offsetY Di manakah saya boleh mencari koordinat dalaman elemen?

黄舟黄舟2680 hari yang lalu643

membalas semua(3)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-24 11:38:27

    Algoritma yang diproses dalam pustaka peta kanvas saya Sinomap ialah ini (dengan perubahan):

    // 注意这里是为 canvas 的 DOM 元素增加 Listener 而非 canvas 的 ctx
    document
      .getElementById('my-canvas')
      .addEventListener('click', updateHandler, false)
    
    function updateHandler (e) {
      // canvas 为你的 canvas ctx 变量
      const box = canvas.getBoundingClientRect()
      const mouseX = (e.clientX - box.left) * canvas.width / box.width
      const mouseY = (e.clientY - box.top) * canvas.height / box.height
      console.log([mouseX, mouseY])
    }

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-24 11:38:27

    Acara sentuh, anda perlu mendapatkan e.touches[0].pageX atau koordinat lain Bagi touchend, atas sebab keserasian, sebaiknya gunakan e.changedTouches

    balas
    0
  • 黄舟

    黄舟2017-05-24 11:38:27



    balas
    0
  • Batalbalas