Rumah applet WeChat Pembangunan program mini 小程序如何处理键盘覆盖输入框(附代码)

小程序如何处理键盘覆盖输入框(附代码)

Dec 29, 2018 am 10:54 AM
javascript mpvue Program mini Kotak masukan papan kekunci

本篇文章给大家带来的内容是关于小程序如何处理键盘覆盖输入框(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在移动端里, 当输入框处于页面比较下方的时候回发生键盘覆盖输入框的情况, 在小程序中也发生了类似情况, 但小程序提供了一些api, 但不能达到需求. 这里来简单说一下解决思路.

小程序的默认行为

在发生了键盘覆盖输入框的时候, 在不操作任何api的情况下, 小程序会把屏幕向上推, 推到输入框正好在键盘上方的位置.

也就是如果不经过处理, 小程序的键盘是不会覆盖输入框的. 但是在我的需求里这样还不够, 因为页面上部分是需要持续展示的内容, 不希望把页面向上推.

所以下面要通过小程序的api来解决这些问题.

cursor-spacing

在比较正常的UI设计中, 输入框外面实际都会有一层wrapper, 而很明显小程序是默认行为是不知道的, 所以结果是会把这层wrapper的下半部分(输入框以下的)切掉. 那么就非常难看了.

引入这个apicursor-spacing, 设多少, input下面就留多少. 这个数字应当是'输入框下边缘到wrapper结束的距离".

小程序的坑在于: 文档上的单位是错的, 本来就需要试才知道这个属性的含义是什么, 所以单位错导致无效果就让一(大)部分人放弃了. 正确的单位是带有单位的字符串. 例如10px或者100rpx.

adjust-position

刚才说到我的需求, 我希望页面不向上推, 而直接把输入框顶上来.

于是尝试了这个api. 默认是true, 把他设为false. 效果变成了: 点了输入框, 键盘完美覆盖输入框.

于是在加上cursor-spacing, 发现这两个api是不能同时生效的.

所以最后结论是: 单纯用提供的api无法实现需求了. 所以只能监听事件自己做.

解决方案

手动操作输入框思路:

  1. adjust-position设为false.

  2. 在输入框的wrapper的bottom样式绑到本地数据, 并设为absolute定位.

  3. 在focus事件里改变输入框的位置.

  4. 在blur事件里复原输入框的位置.

按照这个思路操作, 遇到了几个问题:

如何确定输入框的位置

发现在bindfocus事件中可以获得键盘的高度, 经过尝试, 键盘的高度是以px为单位的. 所以直接把bottom的值设为px高度就行了.

如果输入框wrapper的相对定位不是页面底部, 情况就比较复杂, 若是用rpx为单位, 需要获得屏幕宽高来计算px数, 在不麻烦的情况下可以调整布局使wrapper相对于页面底部定位.

在改变style后输入框立即失去焦点

发生了这个情况后表现为: 点了输入框, 输入框的wrapper闪一下又回原处. (因为失去焦点)

经过多次试验, 需要做的是在绑定一个本地变量到focus属性.

然后用wx:if根据是否focus隐藏输入框, 放一个假的输入框, 点击以后使改变focus属性来唤起键盘.

实现的代码:https://github.com/cwj0417/step/blob/master/src/pages/did/index.vue

Atas ialah kandungan terperinci 小程序如何处理键盘覆盖输入框(附代码). 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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan 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 untuk menaip garis bawah pada papan kekunci Bagaimana untuk menaip garis bawah sahaja tanpa menaip? Bagaimana untuk menaip garis bawah pada papan kekunci Bagaimana untuk menaip garis bawah sahaja tanpa menaip? Feb 22, 2024 pm 07:46 PM

Laraskan kaedah input kepada bahasa Inggeris dan tahan kekunci Shift dan kekunci tolak. Model tutorial yang boleh digunakan: Sistem Lenovo AIO520C: Windows 10 Edisi Profesional: Analisis Microsoft Office Word 2022 1 Mula-mula semak kaedah input bahasa Cina dan Inggeris dan laraskannya kepada bahasa Inggeris. 2Kemudian tahan kekunci Shift dan kekunci Tolak pada papan kekunci anda pada masa yang sama. 3 Semak antara muka untuk melihat perkataan bergaris. Tambahan: Cara memasukkan garis bawah dengan cepat dalam dokumen Word 1. Jika anda perlu memasukkan garis bawah dalam Word, pilih ruang dengan tetikus, kemudian pilih jenis garis bawah dalam menu fon untuk masuk. Ringkasan/Nota: Pastikan anda menukar kaedah input kepada Bahasa Inggeris sebelum meneruskan, jika tidak, garis bawah tidak boleh berjaya dimasukkan.

Bagaimana untuk membuka menu klik kanan melalui kekunci pintasan Bagaimana untuk membuka menu klik kanan melalui kekunci pintasan Jan 14, 2024 pm 03:12 PM

Apabila tetikus kita kehilangan fungsinya buat sementara waktu, bagaimana menggunakan pintasan papan kekunci untuk membuka menu klik kanan Terdapat dua kaedah Satu ialah menekan kekunci pintasan Shift+F10 untuk melaraskan menu klik kanan, dan satu lagi ialah menggunakan. pintasan papan kekunci antara tetingkap dan kekunci ctrl juga boleh digunakan. Mari kita lihat tutorial khusus di bawah. Kaedah pertama menggunakan pintasan papan kekunci untuk membuka menu klik kanan: 1. Apabila tiada fail dipilih pada desktop komputer, tekan butang yang ditandakan dalam bulatan merah dalam gambar di bawah pada papan kekunci Butang ini adalah butang untuk membuka dengan cepat menu klik kanan. 2. Anda boleh membuka menu klik kanan pada desktop Jika anda perlu memilih item, hanya gunakan tetikus untuk memilihnya. Kaedah kedua 1. Sebenarnya, kita boleh menggunakan kekunci pintasan "Shift+F10". menu klik kanan 2

Auto-taip papan kekunci pada komputer riba Windows Auto-taip papan kekunci pada komputer riba Windows Feb 19, 2024 pm 05:33 PM

Peranti input komputer seperti papan kekunci dan tetikus memerlukan operasi manusia dan tidak boleh beroperasi secara bebas. Perkara yang sama berlaku untuk pad sentuh dan papan kekunci pada komputer riba Windows. Teks tidak dimasukkan secara automatik, begitu juga tetikus tidak diklik secara automatik. Jika berlaku sesuatu yang luar biasa, pasti ada sebabnya. Jika anda menghadapi masalah auto-taip papan kekunci komputer riba, ikut panduan untuk membetulkannya. Papan Kekunci pada Komputer Riba Windows Menaip Secara Automatik Apabila papan kekunci pada komputer riba Windows anda menaip secara automatik, berikut ialah cara anda boleh membetulkannya. Periksa papan kekunci secara manual Pastikan papan kekunci berfungsi dengan betul Periksa sama ada komputer riba disambungkan dari jauh Periksa sama ada sebarang program autotaip sedang dijalankan Jalankan imbasan perisian hasad Laraskan tetapan papan kekunci Pasang semula pemacu papan kekunci Mari kita ketahui secara terperinci

Papan kekunci mekanikal tiga mod Maicong K87 menambah versi 'paksi gondok' dan 'paksi ais krim': Struktur gasket, harga permulaan bermula pada 299 yuan Papan kekunci mekanikal tiga mod Maicong K87 menambah versi 'paksi gondok' dan 'paksi ais krim': Struktur gasket, harga permulaan bermula pada 299 yuan Feb 29, 2024 pm 05:00 PM

Menurut berita dari laman web ini pada 29 Februari, Maicong hari ini melancarkan dua versi "Hyacinth Switch" dan "Glazed Ice Cream Switch" untuk papan kekunci mekanikal tiga mod K87 yang mempunyai ciri "Gasket structure, 80% arrangement", aci berkaitan papan kekunci Maklumat harga adalah seperti berikut: Versi "Hyacinth Switch": harga awal ialah 299 yuan versi "Suis Ais Krim Liuguang": harga awal ialah 379 yuan Menurut laporan, siri papan kekunci menggunakan struktur Gasket, 87-kunci % susunan, peralihan kunci penuh dan terma sokongan Untuk memasang dan mencabut plag, ia mendakwa menggunakan "kapkunci PBT dua warna asal/MDA", menggunakan PCB berslot kunci tunggal 1.2mm (kedudukan lampu bawah), dilengkapi dengan RGB kesan pencahayaan, dan mempunyai reka bentuk papan nama penyerapan magnetik. Selain itu, papan kekunci ini dilengkapi dengan bateri 6000 mAh dan kelewatan tanpa wayar 3ms Saiz dan saiz papan kekunci rasmi belum diumumkan.

Bagaimana untuk menetapkan butang Copilot pada mana-mana papan kekunci dalam Windows 11 Bagaimana untuk menetapkan butang Copilot pada mana-mana papan kekunci dalam Windows 11 Feb 20, 2024 am 10:33 AM

Papan kekunci komputer Windows 11 yang akan dilancarkan dalam beberapa bulan akan datang akan mempunyai kunci Copilot baharu. Kekunci ini membolehkan pengguna memasuki mod pembantu juruterbang dengan mudah dengan menekan butang yang ditetapkan tanpa menaik taraf PC baharu. Panduan ini akan memperincikan cara menyediakan butang copilot pada mana-mana papan kekunci Windows 11. Microsoft baru-baru ini mengumumkan bahawa mereka telah mencapai kemajuan penting dalam memajukan pemanduan berbantukan kecerdasan buatan. Windows 11 akan menambah kunci Copilot khusus untuk meningkatkan lagi pengalaman pengguna PC. Perubahan perkakasan ini mewakili peningkatan besar pertama kepada papan kekunci Windows PC dalam tiga puluh tahun. Dalam beberapa bulan akan datang, komputer Windows 11 baharu akan menampilkan reka bentuk kunci Copilot baharu pada papan kekunci

Produk siri papan kekunci dan tetikus 'Elden's Circle' jenama bersama VGN kini berada di rak: Tema tersuai Lani / Faded One, bermula dari 99 yuan Produk siri papan kekunci dan tetikus 'Elden's Circle' jenama bersama VGN kini berada di rak: Tema tersuai Lani / Faded One, bermula dari 99 yuan Aug 12, 2024 pm 10:45 PM

Menurut berita dari laman web ini pada 12 Ogos, VGN melancarkan siri papan kekunci dan tetikus "Elden Ring" berjenama bersama pada 6 Ogos, termasuk papan kekunci, tetikus dan pad tetikus, yang direka dengan tema tersuai bagi siri Lani/Faded One produk Ia telah diletakkan di JD.com, berharga dari 99 yuan. Maklumat produk baharu jenama bersama yang dilampirkan pada tapak ini adalah seperti berikut: Papan Kekunci VGN丨Elden Law Ring S99PRO Papan kekunci ini menggunakan cangkerang aloi aluminium tulen, ditambah dengan struktur penyenyap lima lapisan, menggunakan struktur spring daun GASKET, mempunyai satu PCB berslot kunci, dan bahan PBT tinggi asal, satah belakang diperibadikan aloi aluminium menyokong sambungan tiga mod dan teknologi kependaman rendah SMARTSPEEDX, ia boleh menguruskan berbilang peranti dalam satu hentian, bermula pada 549 yuan; VGN丨Elden French Ring F1PROMAX tetikus wayarles tetikus

Bagaimana untuk menetapkan kaedah input tulisan tangan pada papan kekunci mudah alih Apple Bagaimana untuk menetapkan kaedah input tulisan tangan pada papan kekunci mudah alih Apple Mar 08, 2024 pm 02:30 PM

Pengguna papan kekunci mudah alih Apple ingin menyediakan kaedah input tulisan tangan, tetapi tidak tahu cara melakukannya sebenarnya sangat mudah Pengguna boleh terus memilih kaedah input tulisan tangan dalam tetapan papan kekunci telefon kaedah input tulisan tangan. Cara menetapkan kaedah input tulisan tangan pada papan kekunci telefon mudah alih Apple A: Dayakan kaedah input tulisan tangan terus dalam tetapan papan kekunci 1. Apabila pengguna Apple menggunakan kaedah input, kaedah input tulisan tangan didayakan secara lalai. 2. Pengguna hanya perlu klik dan tahan sudut kiri bawah untuk memilih kaedah input tulisan tangan semasa menaip. 3. Jika pengguna tidak mempunyai kaedah input tulisan tangan dalam telefon bimbitnya, dia juga boleh menambahnya secara manual. 4. Pengguna memasuki tetapan, mencari tetapan papan kekunci universal dan menambah pilihan input tulisan tangan pada papan kekunci pertama. 5. Gunakan kaedah input tulisan tangan untuk

Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Mar 13, 2024 am 09:04 AM

Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat? Papan Kekunci WeChat ialah perisian kaedah input telefon mudah alih yang sangat pintar Perisian ini mempunyai banyak fungsi mesra pengguna Ia membolehkan pengguna memilih mod input mereka sendiri dan mencari ungkapan yang mereka mahukan secepat mungkin pada perisian ini. Perisian ini juga membolehkan pengguna menukar kulit papan kekunci itu sendiri Ramai pengguna tidak pasti bagaimana untuk menukar kulit Editor di bawah telah menyusun kaedah menukar kulit untuk rujukan anda. Bagaimana untuk menetapkan kulit papan kekunci WeChat Dalam WeChat, SMS atau aplikasi lain yang memerlukan penggunaan papan kekunci pada telefon anda, anda boleh mengklik ikon tetapan kaedah input di penjuru kiri sebelah atas papan kekunci untuk memasuki halaman tetapan untuk melihat pilihan tetapan fungsi untuk pelbagai kaedah input. 2. Klik "Kulit Peribadi" pada halaman tetapan kaedah input.

See all articles