Jadual Kandungan
Analisis Masalah
Penyelesaian
Pilihan 1: Gunakan v-on:blur untuk mengikat peristiwa kabur dalam komponen Vue
Pilihan 2: Gunakan arahan Vue untuk menyesuaikan gelagat elemen
Ringkasan
Rumah hujung hadapan web Soal Jawab bahagian hadapan Kursor tidak hilang apabila anda mengklik di tempat lain pada halaman vue

Kursor tidak hilang apabila anda mengklik di tempat lain pada halaman vue

May 05, 2023 pm 10:06 PM

Apabila menggunakan Vue untuk membangunkan halaman, selalunya ditemui kursor dalam kotak input tidak hilang apabila mengklik di tempat lain pada halaman. Masalah ini kelihatan mudah, tetapi jika tidak ada cara yang betul untuk menanganinya, ia boleh menjejaskan pengalaman interaktif pengguna. Artikel ini akan memberikan beberapa penyelesaian kepada masalah ini.

Analisis Masalah

Apabila kita mengikat atribut model v bagi kotak input dalam komponen Vue, apabila pengguna memasukkan dalam kotak input, kursor akan mengikuti dalam kotak input Input pengguna bergerak. Tetapi apabila pengguna mengklik pada kawasan lain pada halaman, kursor tidak akan hilang, yang akan menyebabkan pengalaman pengendalian yang lebih menyusahkan.

Punca masalah ini ialah kami tidak mengendalikan peristiwa yang dicetuskan apabila pengguna mengklik pada kawasan kotak bukan input. Biasanya, apabila mengklik pada kawasan lain, kita perlu mencetuskan peristiwa kabur kotak input secara manual supaya kotak teks kehilangan fokus dan kursor dihapuskan.

Penyelesaian

Pilihan 1: Gunakan v-on:blur untuk mengikat peristiwa kabur dalam komponen Vue

Gunakan arahan v-on dalam komponen Vue untuk mengikat dengan mudah acara kabur Tentukan acara DOM. Kita boleh mengikat peristiwa kabur ke kotak input Apabila pengguna mengklik pada kawasan lain, peristiwa itu dicetuskan dan kotak input kehilangan fokus, sekali gus menghapuskan kursor.

Kod sampel:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<template>

  <div>

    <input v-model="inputValue" v-on:blur="inputBlur">

  </div>

</template>

 

<script>

export default {

  data() {

    return {

      inputValue: ""

    };

  },

  methods: {

    inputBlur() {

      this.$refs.input.blur();

    }

  }

};

</script>

Salin selepas log masuk

Dalam kod sampel di atas, kami mengikat acara kabur pada kotak input dan memanggil kaedah kabur kotak input dalam pengendali acara.

Pilihan 2: Gunakan arahan Vue untuk menyesuaikan gelagat elemen

Arahan Vue (Arahan) boleh membantu kami menyesuaikan gelagat elemen HTML. Berdasarkan ini, kita boleh menyesuaikan arahan v-blur dalam komponen Vue Apabila pengguna mengklik pada kawasan selain kotak input, arahan itu dicetuskan dan kotak input kehilangan fokus, dengan itu menghapuskan kursor.

Kod sampel:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<template>

  <div>

    <input v-model="inputValue" v-blur>

  </div>

</template>

 

<script>

export default {

  data() {

    return {

      inputValue: ""

    };

  },

  directives: {

    blur: {

      bind: function(el, binding, vnode) {

        function documentHandler(e) {

          if (el.contains(e.target)) {

            return false;

          }

          el.blur();

        }

        el.__vueBlur__ = documentHandler;

        document.addEventListener("click", documentHandler);

      },

      unbind: function(el, binding) {

        document.removeEventListener("click", el.__vueBlur__);

        delete el.__vueBlur__;

      }

    }

  }

};

</script>

Salin selepas log masuk

Dalam kod sampel di atas, kami mentakrifkan arahan kabur dan mengikat fungsi documentHandler() kepadanya. Dalam fungsi tersebut, kami mendengar peristiwa klik dokumen Apabila pengguna mengklik pada kawasan kotak bukan input, peristiwa itu dicetuskan dan kaedah kabur kotak input dipanggil.

Ringkasan

Sama ada kami menggunakan pilihan satu atau pilihan dua, kami perlu mengikat acara atau arahan yang sepadan dengan kotak input dan memanggil kaedah kabur kotak input dalam fungsi pengendalian acara untuk menjadikannya Hilang fokus, dengan itu menghapuskan kursor. Ini akan meningkatkan kemesraan interaksi pengguna dan meningkatkan pengalaman pengendalian pengguna.

Atas ialah kandungan terperinci Kursor tidak hilang apabila anda mengklik di tempat lain pada halaman vue. 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

Tag artikel 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)

Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan? Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan? Mar 19, 2025 pm 03:58 PM

Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan?

Terangkan konsep pemuatan malas. Terangkan konsep pemuatan malas. Mar 13, 2025 pm 07:47 PM

Terangkan konsep pemuatan malas.

Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya? Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya? Mar 18, 2025 pm 01:45 PM

Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya?

Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula? Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula? Mar 18, 2025 pm 01:44 PM

Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula?

Bagaimanakah algoritma Rekonsiliasi React berfungsi? Bagaimanakah algoritma Rekonsiliasi React berfungsi? Mar 18, 2025 pm 01:58 PM

Bagaimanakah algoritma Rekonsiliasi React berfungsi?

Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara? Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara? Mar 19, 2025 pm 04:10 PM

Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara?

Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen? Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen? Mar 19, 2025 pm 03:59 PM

Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen?

Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal? Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal? Mar 19, 2025 pm 04:16 PM

Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal?

See all articles