微信小程序中textarea與input的問題總結(jié)
Oct 09, 2022 am 10:48 AM本篇文章給大家?guī)?lái)了關(guān)于微信小程序的相關(guān)知識(shí),其中主要介紹了關(guān)于小程序中textarea與input的問題總結(jié),這兩個(gè)組件單獨(dú)只用一個(gè)時(shí),是沒有什么問題的,但是當(dāng)他們兩個(gè)一起出現(xiàn)時(shí),問題就接踵而來(lái),下面一起來(lái)看一下,希望對(duì)大家有幫助。
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
微信小程序中,有兩個(gè)原生組件textarea和input,這兩個(gè)組件單獨(dú)只用一個(gè)時(shí),是沒有什么問題的,但是當(dāng)他們兩個(gè)一起出現(xiàn)時(shí),問題就接踵而來(lái),并且都是些很玄學(xué)的問題,我在開發(fā)時(shí)就遇到了這些玄學(xué)的問題,一個(gè)簡(jiǎn)單的表單填寫頁(yè)面,只是為了實(shí)現(xiàn)一個(gè)手動(dòng)實(shí)現(xiàn)頁(yè)面上推的功能,硬是搞了好幾天才弄好!
效果圖:
思考
在我把這些玄學(xué)問題通過特殊方式解決后,我思考了很多很多
為什么textarea和input組合在一起使用時(shí)為什么會(huì)有這些玄學(xué)問題?
我明明是正常的寫法,為什么ios手機(jī)可以,到安卓機(jī)就不行了?
為什么有些時(shí)候可以有些時(shí)候又不可以?
...等等等等
為了以后不在這些問題上走彎路,所以我決定好好的去探索一番,textarea與input的相愛相殺
測(cè)試機(jī)器
本次探索所用到的機(jī)器為
安卓機(jī)器:榮耀20,小米10s;
ios機(jī)器:iPhone13
玄學(xué)問題來(lái)了!
1、綁定bindkeyboardheightchange事件
問題:只為textarea綁定bindkeyboardheightchange事件,input也會(huì)觸發(fā)textarea的bindkeyboardheightchange事件,并且觸發(fā)所攜帶的參數(shù)都是textarea上面的參數(shù)
機(jī)型:安卓必現(xiàn)
示例:
解決辦法:未找到解決辦法
2、設(shè)置hold-keyboaed為true時(shí)
問題:當(dāng)把textarea和input的hold-keyboaed屬性設(shè)置為true時(shí),并且input中有一個(gè)type不為text時(shí),連續(xù)切換會(huì)把鍵盤上方的完成卡住,并且不會(huì)再聚焦textarea
機(jī)型:安卓必現(xiàn)
示例gif:
解決辦法:1. 通過show-confirm-bar不顯示textarea鍵盤抬起時(shí)上方的完成按鈕,2. input的type都設(shè)置為text,3. 不設(shè)置hold-keyboaed為true
3、textarea穿透問題
問題:當(dāng)有fixed元素時(shí),無(wú)論設(shè)置多少z-index值,textarea組件都會(huì)穿透該fixed元素
機(jī)型:安卓偶現(xiàn)
玄學(xué)點(diǎn):有時(shí)是不會(huì)出現(xiàn)的,但當(dāng)我重新編譯、掃碼預(yù)覽時(shí),就會(huì)出現(xiàn)textarea穿透問題,并且之后都會(huì)一直出現(xiàn),但當(dāng)我把小程序在手機(jī)上刪除后,重新編譯掃碼就有幾率不會(huì)出現(xiàn)該問題
示例gif:
解決辦法:當(dāng)遇到需要fixed元素蓋住textarea時(shí),可以當(dāng)fixed元素出現(xiàn)時(shí),將textarea隱藏或者變成view元素
4、綁定bindfocus事件
問題:當(dāng)只給textarea綁定bindfocus事件,進(jìn)入頁(yè)面先點(diǎn)擊textarea后,再馬上點(diǎn)擊input會(huì)觸發(fā)textarea的focus事件
機(jī)型:安卓偶現(xiàn)
示例gif:
解決辦法:可以通過focus去動(dòng)態(tài)的控制textarea的聚焦情況,并且盡量不設(shè)置input的type為number類型
5、transition動(dòng)畫
問題:在鍵盤抬起過程中如果通過bottom或translateY手動(dòng)抬起page頁(yè)面時(shí),并設(shè)置了transition動(dòng)畫屬性,會(huì)導(dǎo)致textarea的placeholder閃動(dòng)
機(jī)型:安卓必現(xiàn)
示例gif:
解決辦法: 判斷機(jī)型,ios添加transition屬性,安卓機(jī)器不添加transition屬性
6、點(diǎn)擊完成時(shí)
問題:textarea綁定bindkeyboardheightchange事件,并且使用了自帶的完成時(shí),點(diǎn)擊完成時(shí)不會(huì)觸發(fā)bindkeyboardheightchange事件
機(jī)型:安卓偶現(xiàn)
示例gif:
解決辦法:未找到解決辦法
7、設(shè)置auto-height時(shí)
問題:當(dāng)textarea的auto-height屬性為true時(shí),會(huì)導(dǎo)致使用selectComponet獲取高度時(shí)出現(xiàn)問題,有時(shí)是沒有內(nèi)容的一排初始高度,有時(shí)是textarea的默認(rèn)高度
機(jī)型:ios和安卓
解決辦法:動(dòng)態(tài)控制auto-height的值,或使用定時(shí)器延遲獲取高度
8、鍵盤高度獲取不一致
問題:多次觸發(fā)bindkeyboardchange事件,從事件中獲取的keyboardHeight高度不一致,有時(shí)是帶了完成的高度,有時(shí)是沒有帶完成的高度
機(jī)型:安卓偶現(xiàn)
解決辦法:未找到解決辦法
9、獲取數(shù)據(jù)精度問題
問題:通過selectComponet獲取元素的高寬或位置時(shí),會(huì)默認(rèn)保留全部小數(shù),大概為16位,有幾率導(dǎo)致動(dòng)畫出現(xiàn)混亂
機(jī)型:ios和安卓偶現(xiàn)
解決辦法:js語(yǔ)言本身就有精度問題,所以在通過selectComponent獲取到數(shù)據(jù)后,最好只保留兩位小數(shù)來(lái)進(jìn)行處
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
以上是微信小程序中textarea與input的問題總結(jié)的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

閑魚官方微信小程序悄然上線,在小程序中可以發(fā)布閑置與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索物品等,有用好奇閑魚微信小程序叫什么,現(xiàn)在快來(lái)看一下。閑魚微信小程序叫什么答案:閑魚,閑置交易二手買賣估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、想要使用的話必要要開通微信支付才可以購(gòu)買;

實(shí)現(xiàn)微信小程序中的圖片濾鏡效果隨著社交媒體應(yīng)用的流行,人們?cè)絹?lái)越喜歡在照片中應(yīng)用濾鏡效果,以增強(qiáng)照片的藝術(shù)效果和吸引力。在微信小程序中也可以實(shí)現(xiàn)圖片濾鏡效果,為用戶提供更多有趣和創(chuàng)造性的照片編輯功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片濾鏡效果,并提供具體的代碼示例。首先,我們需要在微信小程序中使用canvas組件來(lái)加載和編輯圖片。canvas組件可以在頁(yè)面

實(shí)現(xiàn)微信小程序中的下拉菜單效果,需要具體代碼示例隨著移動(dòng)互聯(lián)網(wǎng)的普及,微信小程序成為了互聯(lián)網(wǎng)開發(fā)的重要一環(huán),越來(lái)越多的人開始關(guān)注和使用微信小程序。微信小程序的開發(fā)相比傳統(tǒng)的APP開發(fā)更加簡(jiǎn)便快捷,但也需要掌握一定的開發(fā)技巧。在微信小程序的開發(fā)中,下拉菜單是一個(gè)常見的UI組件,實(shí)現(xiàn)了更好的用戶操作體驗(yàn)。本文將詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)下拉菜單效果,并提供具

閑魚官方微信小程序已經(jīng)悄然上線,它為用戶提供了一個(gè)便捷的平臺(tái),讓你可以輕松地發(fā)布和交易閑置物品。在小程序中,你可以與買家或賣家進(jìn)行私信交流,查看個(gè)人資料和訂單,以及搜索你想要的物品。那么閑魚在微信小程序中究竟叫什么呢,這篇教程攻略將為您詳細(xì)介紹,想要了解的用戶們快來(lái)跟著本文繼續(xù)閱讀吧!閑魚微信小程序叫什么答案:閑魚,閑置交易二手買賣估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、

微信小程序?qū)崿F(xiàn)圖片上傳功能隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,微信小程序已經(jīng)成為了人們生活中不可或缺的一部分。微信小程序不僅提供了豐富的應(yīng)用場(chǎng)景,還支持開發(fā)者自定義功能,其中包括圖片上傳功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片上傳功能,并提供具體的代碼示例。一、前期準(zhǔn)備工作在開始編寫代碼之前,我們需要先下載并安裝微信開發(fā)者工具,并注冊(cè)成為微信開發(fā)者。同時(shí),還需要了解微信

使用微信小程序?qū)崿F(xiàn)輪播圖切換效果微信小程序是一種輕量級(jí)的應(yīng)用程序,具有簡(jiǎn)單、高效的開發(fā)和使用特點(diǎn)。在微信小程序中,實(shí)現(xiàn)輪播圖切換效果是常見的需求。本文將介紹如何使用微信小程序?qū)崿F(xiàn)輪播圖切換效果,并給出具體的代碼示例。首先,在微信小程序的頁(yè)面文件中,添加一個(gè)輪播圖組件。例如,可以使用<swiper>標(biāo)簽來(lái)實(shí)現(xiàn)輪播圖的切換效果。在該組件中,可以通過b

實(shí)現(xiàn)微信小程序中的圖片旋轉(zhuǎn)效果,需要具體代碼示例微信小程序是一種輕量級(jí)的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗(yàn)。在小程序中,開發(fā)者可以利用各種組件和API來(lái)實(shí)現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見的動(dòng)畫效果,可以為小程序增添趣味性和視覺效果。在微信小程序中實(shí)現(xiàn)圖片旋轉(zhuǎn)效果,需要使用小程序提供的動(dòng)畫API。下面是一個(gè)具體的代碼示例,展示了如何在小程

實(shí)現(xiàn)微信小程序中的滑動(dòng)刪除功能,需要具體代碼示例隨著微信小程序的流行,開發(fā)者們?cè)陂_發(fā)過程中經(jīng)常會(huì)遇到一些常見功能的實(shí)現(xiàn)問題。其中,滑動(dòng)刪除功能是一個(gè)常見、常用的功能需求。本文將為大家詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)滑動(dòng)刪除功能,并給出具體的代碼示例。一、需求分析在微信小程序中,滑動(dòng)刪除功能的實(shí)現(xiàn)涉及到以下要點(diǎn):列表展示:要顯示可滑動(dòng)刪除的列表,每個(gè)列表項(xiàng)需要包
