Rumah hujung hadapan web uni-app Mari kita bincangkan tentang masalah mengklik pada ruang kosong dalam uniapp tanpa kehilangan fokus

Mari kita bincangkan tentang masalah mengklik pada ruang kosong dalam uniapp tanpa kehilangan fokus

Apr 23, 2023 am 09:09 AM

Dengan pembangunan berterusan terminal mudah alih dan web, senario penggunaan pembangun menjadi semakin pelbagai, dan mereka juga sentiasa mencari alatan dan rangka kerja pembangunan yang lebih cekap Uniapp ialah susunan penuh yang menyepadukan alat pembangunan berbilang platform , memainkan peranan yang besar dalam bidang pembangunan merentas platform. Semasa pembangunan, kami sering menghadapi beberapa masalah kecil Contohnya, dalam pembangunan uniapp, kami sering menghadapi masalah mengklik pada ruang kosong tanpa kehilangan fokus Artikel ini akan memperkenalkan cara menyelesaikan masalah ini.

UniApp ialah rangka kerja pembangunan merentas platform berdasarkan rangka kerja Vue.js Ia dibangunkan oleh pasukan pembangunan bebas yang dilaburkan oleh DCloud (J. Lin Ia boleh menyusun satu set kod ke dalam H5, iOS). , Android, dsb. Borang permohonan yang berbeza seperti program kecil, apl dan H5 untuk berbilang platform tidak perlu ditulis semula dan disesuaikan.

Dalam uniapp, kami biasanya menggunakan input untuk mendapatkan input pengguna, tetapi secara lalai, apabila kami mengklik pada kawasan di luar input, input akan hilang fokus. Perlu diingat bahawa peristiwa klik pada masa ini tidak boleh terikat secara langsung dengan elemen di luar input Anda perlu menggunakan pengubah suai acara @click.stop dalam vue untuk mengelakkan acara daripada menggelegak.

Sebagai contoh, kod berikut ialah contoh mudah cara mengklik pada ruang kosong tanpa kehilangan fokus:

<template>
  <div class="container">
    <input type="text" v-model="inputText" @blur="hideKeyboard" />
    <div class="content" @click.stop="hideKeyboard">点击空白区域</div>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        inputText: '',
      };
    },
    methods: {
      hideKeyboard() {
        //模拟失去焦点操作
        document.activeElement.blur();
      },
    },
  };
</script>
Salin selepas log masuk

Dalam kod di atas, @click.stop digunakan untuk menghalang acara daripada menggelegak ini menghalang input daripada kehilangan fokus apabila mengklik pada ruang kosong.

Perlu diambil perhatian bahawa kami perlu mensimulasikan peristiwa tidak fokus dalam kaedah hideKeyboard Ini kerana dalam uniapp, kami menggunakan pengikatan data dua hala vue untuk mengemas kini nilai kotak input. yang dicetuskan apabila peristiwa kabur Bila, peristiwa kemas kini:xxx sebenarnya dicetuskan terlebih dahulu untuk mengemas kini data, dan kemudian peristiwa kabur dicetuskan, jadi kita perlu mensimulasikan peristiwa tidak fokus secara manual untuk mencapai matlamat.

Di atas ialah cara menggunakan uniapp untuk mengklik pada ruang kosong tanpa kehilangan fokus. Pada masa yang sama, kita juga boleh kehilangan tumpuan apabila mengklik di tempat lain dengan mendengar peristiwa sentuhan pada keseluruhan halaman. Kod berikut menunjukkan cara menggunakan peristiwa sentuh untuk mencapai fungsi ini:

<template>
  <div class="container" @touchstart="handlePageTouchStart">
    <input type="text" v-model="inputText" @blur="hideKeyboard" />
    <div class="content" @click.stop="hideKeyboard">点击空白区域</div>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        inputText: '',
      };
    },
    methods: {
      hideKeyboard() {
        //与之前方法相同,不再赘述
      },
      handlePageTouchStart(e) {
        if (document.activeElement.tagName == 'INPUT') {
          e.preventDefault();
          document.activeElement.blur();
        }
      },
    },
  };
</script>
Salin selepas log masuk

Dalam kod di atas, kami mengikat acara mula sentuh pada keseluruhan halaman, dan kemudian menentukan sama ada elemen yang mencetuskan pada masa ini. acara ialah Elemen input, jika ya, kehilangan fokus yang sepadan secara manual.

Ringkasan

Dalam uniapp, adalah keperluan biasa untuk mengklik pada ruang kosong tanpa kehilangan fokus. Kami boleh menyelesaikan masalah ini dengan mudah dengan menggunakan @click.stop dan mendengar acara sentuhan. Pada masa yang sama, dalam pembangunan sebenar, kita perlu memilih berdasarkan situasi sebenar, penyelesaian mana yang akan digunakan untuk mencapai fungsi mengklik pada ruang kosong tanpa kehilangan fokus, untuk mencapai pengalaman pengguna yang lebih baik.

Atas ialah kandungan terperinci Mari kita bincangkan tentang masalah mengklik pada ruang kosong dalam uniapp tanpa kehilangan fokus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya mengendalikan storan tempatan di uni-app? Bagaimana saya mengendalikan storan tempatan di uni-app? Mar 11, 2025 pm 07:12 PM

Artikel ini memperincikan API penyimpanan tempatan Uni-App (uni.setstoragesync (), uni.getstoragesync (), dan rakan-rakan async mereka), menekankan amalan terbaik seperti menggunakan kekunci deskriptif, mengehadkan saiz data, dan mengendalikan parsing JSON. Ia menekankan bahawa lo

Cara menamakan semula fail muat turun uniapp Cara menamakan semula fail muat turun uniapp Mar 04, 2025 pm 03:43 PM

Artikel ini memperincikan penyelesaian untuk menamakan semula fail yang dimuat turun di UNIAPP, kekurangan sokongan API langsung. Android/IOS memerlukan plugin asli untuk penamaan semula pasca muat turun, manakala penyelesaian H5 terhad kepada mencadangkan nama fail. Proses ini melibatkan tempor

Cara Mengendalikan Pengekodan Fail Dengan Muat turun Uniapp Cara Mengendalikan Pengekodan Fail Dengan Muat turun Uniapp Mar 04, 2025 pm 03:32 PM

Artikel ini menangani isu pengekodan fail dalam muat turun Uniapp. Ia menekankan pentingnya pengepala jenis kandungan server dan menggunakan TextDecoder JavaScript untuk penyahkodan sisi klien berdasarkan tajuk ini. Penyelesaian untuk Prob Pengekodan Biasa

Bagaimana saya membuat permintaan API dan mengendalikan data dalam uni app? Bagaimana saya membuat permintaan API dan mengendalikan data dalam uni app? Mar 11, 2025 pm 07:09 PM

Butiran artikel ini membuat dan mendapatkan permintaan API dalam Uni-app menggunakan Uni.request atau Axios. Ia meliputi pengendalian tindak balas JSON, amalan keselamatan terbaik (HTTPS, pengesahan, pengesahan input), kegagalan penyelesaian masalah (isu rangkaian, kors, s

Bagaimana saya menggunakan API Geolocation Uni-App? Bagaimana saya menggunakan API Geolocation Uni-App? Mar 11, 2025 pm 07:14 PM

Artikel ini memperincikan API Geolocation Uni-App, yang memberi tumpuan kepada uni.getLocation (). Ia menangani perangkap biasa seperti sistem koordinat yang salah (GCJ02 vs WGS84) dan isu kebenaran. Meningkatkan ketepatan lokasi melalui bacaan dan pengendalian purata

Bagaimanakah saya menguruskan Negeri dalam Uni App menggunakan Vuex atau Pinia? Bagaimanakah saya menguruskan Negeri dalam Uni App menggunakan Vuex atau Pinia? Mar 11, 2025 pm 07:08 PM

Artikel ini membandingkan Vuex dan Pinia untuk pengurusan negeri di Uni-App. Ia memperincikan ciri -ciri, pelaksanaan, dan amalan terbaik mereka, menonjolkan kesederhanaan Pinia berbanding struktur Vuex. Pilihan bergantung pada kerumitan projek, dengan pinia sutia

Bagaimana saya menggunakan API perkongsian sosial Uni-app? Bagaimana saya menggunakan API perkongsian sosial Uni-app? Mar 13, 2025 pm 06:30 PM

Artikel ini memperincikan bagaimana untuk mengintegrasikan perkongsian sosial ke dalam projek Uni-app menggunakan API Uni.share, meliputi persediaan, konfigurasi, dan ujian di seluruh platform seperti WeChat dan Weibo.

Bagaimanakah saya menggunakan ciri Easycom Uni-App untuk pendaftaran komponen automatik? Bagaimanakah saya menggunakan ciri Easycom Uni-App untuk pendaftaran komponen automatik? Mar 11, 2025 pm 07:11 PM

Artikel ini menerangkan ciri Easycom UNI-APP, mengautomasikan pendaftaran komponen. Ia memperincikan konfigurasi, termasuk pemetaan komponen autoscan dan adat, menonjolkan faedah seperti dikurangkan boilerplate, kelajuan yang lebih baik, dan kebolehbacaan yang dipertingkatkan.

See all articles