描述问题:

textarea多行文本输入在ios上的bug

问题原因:

textarea标签的maxlength属性在ios上计算有问题,ios的换行会占用两个字符。如下:ios换行(\n)其实是占用了两个字符,但是计算规则却依然是按照一个字符来计算的,就导致了,显示还可以输入一个字符,但是实际上却输入不了。

解决思路:

ios设计的maxlength计算规则很明显我们是无能为力的,所以解决方案只能从maxlength入手。

解决方案:

在ios上在当有换行符(\n)的时候我们让maxlength 加 1,就可以了,如果有两个换行符那就加2

//html
<textarea :maxlength="handleCurrentMaxLen(description, 20)" v-model="description"></textarea>
<span>{{description.length}}/20</span>
// methods
handleCurrentMaxLen(str, maxLen) {if (isIos() && isMobile) {let reg = new RegExp(/\n/g);let lineNum = str.match(reg);return lineNum ? lineNum.length + maxLen : maxLen} else {return maxLen}
}// 注意:只要description改变了handleCurrentMaxLen 就会重新执行

实际解决方案中:

实际项目中我们多用组件实现(因为搭配的有校验规则)多行文本,此时思路是不变的,需要注意的是,需要拿到"剩余还可输入的dom",然后在input事件中给这个dom的innerText赋值为:绑定文本的length属性。

ios下多行文本输入框bug,textarea标签的maxlength属性在ios上计算相关推荐

  1. HTML中的多行输入框:textarea标签、cols属性、rows属性。

    <!DOCTYPE html> <html><head><meta charset="utf-8"><title>下拉列 ...

  2. HTML textarea 标签的 wrap 属性

    HTML <textarea> 标签的 wrap 属性 wrap 属性 通常情况下,当用户在输入文本区域中键入文本后,浏览器会将它们按照键入时的状态发送给服务器.只有用户按下 Enter ...

  3. 关于微信小程序textarea中的maxlength属性失效问题

    关于微信小程序textarea中的maxlength属性失效问题 代码菜鸡今天在编写小程序前端代码时,遇到了一个问题:textarea输入140个字以后,就再也输不进去了,想着设置一下maxlengt ...

  4. 【web】textarea标签的cols属性失效,解决办法

    经过一系列的测试 我发现textarea标签如果放在设置了弹性布局且主轴设置为垂直方向时, textarea标签的cols属性会失效,父容器有多宽textarea的文本框就有多宽 还不知道是什么原因 ...

  5. 解决IE下textarea不识别maxlength属性的问题

    首先先看一个比较简单的处理办法,代码如下: $("textarea[maxlength]").keyup(function () {var area = $(this);var m ...

  6. iOS原生如何加载HTML中img标签的图片

    原文出自:iOS原生如何加载HTML中img标签的图片 前言 最近iOS App项目中使用Webview加载H5页面比较多,也有不少朋友经常问到这个问题,在这里我也学习学习如何通过iOS原生的方式来加 ...

  7. html 最大输入长度,TextArea设置MaxLength属性最大输入值的js代码

    标准的DHTML文档中TEXTAREA的MAXLENGTH属性默认情况下不起作用,只有当事件发生时才起作用 如下:http://spiderscript.net/site/spiderscript/e ...

  8. HTML textarea 标签

    定义和用法 <textarea> 标签定义多行的文本输入控件. 文本区中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier). 可以通过 cols 和 rows ...

  9. iOS 7.1 的 Safari 为 meta 标签新增 minimal-ui 属性,在网页加载时隐藏地址栏与导航栏...

    在过去,用 Safari 打开一个网页后是这样的: 是不是十分不爽?因为顶部的地址栏与底部的导航栏让页面显得非常拥挤,所以用户常常会马上伸手触屏滑动让它们隐藏起来. 始终强调人性化设计的苹果当然注意到 ...

最新文章

  1. 计算机二级能学到知识吗,2017年关于计算机二级msoffice学习知识点
  2. Android Settings开发之修改
  3. java 多线程同步问题_Java多线程同步问题:一个小Demo完全搞懂
  4. Docker中Maven私服的搭建
  5. 任何举动之前,先思考,思考,再思考
  6. java使用SAX接口解析xml文件
  7. 拼音模糊查询+java,Java将中文转换成拼音,用于字母的模糊查询
  8. 关于极限精简版系统(RAMOS专用)的说明(FAQ)
  9. EMP电磁脉冲射频发射器制作教程
  10. 使用驱动精灵更新无线网卡后出现网卡错误代码56的解决办法
  11. 史上最全介绍--新能源汽车整车控制器VCU开发流程功能概述
  12. 【学习方法】常见算法在实际项目中的应用
  13. dell服务器双系统切换,戴尔笔记本双系统在不关机的状况下怎么转换另外一个系统?...
  14. 时间与相关类型(2) - TDate、TTime、TTimeStamp
  15. LTE系统调试记录12:接收端画星座图
  16. 焦虑症和抑郁症有什么区别吗?
  17. 虚拟服务器C盘备份,分享:两种快速虚拟机备份方法
  18. Scrum立会报告+燃尽图(Beta阶段第二周第二次)
  19. 使用selenium爬取fofa中链接的网站正文
  20. 世界知名计算机科学家,世界顶尖计算机科学家排名出炉!两位郑州大学校友分列这两项之首...

热门文章

  1. 5月中旬最科技青桐汇来袭,来看武汉最新最前沿的科技产品!
  2. mysql generated_MySQL 5.7新特性之Generated Column
  3. c语言串口控制单片机,单片机C语言程序设计:甲机通过串口控制乙机 LED
  4. 怎样在excel中利用有效性序列建立二级下拉菜单
  5. PM都要懂这三种管理方式
  6. 宣传图泄密?苹果WWDC2014新产品发布猜想
  7. leetcode2281.巫师的总力量和(周赛,困难)
  8. max信号无服务器,iPhone XS Max信号满格无法使用网络数据改善方法
  9. 国内用户github访问速度慢怎么办?一招解决!
  10. bigemap地图下载器的优势