前端常见bug系列3:<input type="text">中emoji表情与文字并存时表情被截掉一部分

比如,有这个一个demo页面:

<head>
    <meta charset="UTF-8">
    <meta name="format-detection" content="telephone=no, address=no, email=no, time=no">
    <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0">
    <title>Title</title>
    <style>
        .text-input{
            font-size: 1.2rem;
            line-height: 1.2rem;
            height: 1.2rem;
            border: 1px solid #eee;
            -webkit-appearance: none;
        }
    </style>
</head>
<body>
    <h2>input type="text"中输入emoji表情时表情被截掉一部分的bug</h2>
    <input class="text-input" type="text" name="comment">
</body>
</html>

当你在手机上(比如iPhone 5S)浏览这个页面,并在页面的输入框中输入一些中文内容的同时再输入几个emoji表情的时候, 会发现emoji表情无法完整显示,看起来就像有一部分被裁切掉了。

问题发现了,处理起来就比较简单了——加大行高, 比如, 加大到1.5rem。这个问题不难, 之所以收录进来,是因为自测的时候,很容易忘记对emoji表情这种特殊的输入进行测试验证,从而最终导致bug的存在。

时间: 2024-10-03 15:05:53

前端常见bug系列3:<input type="text">中emoji表情与文字并存时表情被截掉一部分的相关文章

jquery获取input type=text中的值的各种方式(总结)_jquery

 实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JQuery获取文本框的值</title> <meta h

如何用正则取input type=&quot;text&quot;中的value

1.如何通过正则取input type="text"中的value呢? 2.如何过滤掉input type="checkbox"的标签? 这样只能达到正则取input type="text"中的value可是不能过滤掉input type="checkbox"的标签! <textarea name=cnbruce cols=60 rows=6> <input type="checkbox"

前端常见bug系列4: JavaScript中忘记类型转换所导致的条件判断错误举例

一.忘记类型转换的小数比较错误 举个例子,我们要进行一个字符串型的小数的比较:'8.8'>'8.7',结果自然是true. 那么'8.8'>'8.10'呢?结果仍然是true,但愿你没有将它误以为是8.8>8.10. 二.忘记类型转换的版本号比较错误 类似上面的问题,在进行版本号比较时,一样存在.比如,我们这么比较'8.8.1'>'8.10.1',结果就是错误的.合理的比较方法应该是将两个待比较的版本号按'.'作为分隔符进行拆分,并将每一位转换成数字,然后按位比较. 三.字符串型的

前端常见bug系列2::last-of-type 和 :first-of-type的误用

上一篇中曾提到,someselecttor:last-chid 所表示的并不是someselecttor选中的节点集合的最后一个.那么,怎么达到这个效果呢?对,可以用:last-of-type.来个例子试试看吧! <style> .section{ margin-bottom: 50px; } .section1-item:last-of-type{ color: green; } </style> <section class="section section1&

前端常见bug系列1:容易被误解的:last-child 和 :first-child

用某个选择器过滤出来一个元素集合,当我们想选中最后一个元素的时候,是不是很容易想到:last-child?比如,有下面一段CSS和HTML片段: <style> .section{ margin-bottom: 50px; } .section1-item:last-child{ color: blue; } </style> <section class="section section1"> <header>header</he

form 表单中的input type=text 是不是一定会被加在请求中

问题描述 现在有这么一个想法 ,是通过一个checkbox来控制 同一排的 input type=text 是否加到请求中, 由于是checkbox只有在选中的时候才会被加到请求中,而input 如何不让它加到请求中了,这样方便后面数据的处理. 解决方案 看你是要同步还是异步操作了如果是异步操作,使用ajaxfunction ajax_post(){ $.post("action",{param:paramValue}, //自己拼接参数,如果有就加上 function(data){

jquery对所有input type=text的控件赋值实现方法_jquery

如下所示: function resetData() { $("input[type=text]").each( function() { $(this).attr("value",""); } ); } 以上这篇jquery对所有input type=text的控件赋值实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继

asp.net jQuery创建行列时无法获取input[type=text]的值

问题描述 我是使用jQuery方式创建的trtd,td中是一个文本框我所用的都是html标签,在创建文本框之后,输入值,点击保存的时候拿不到文本框的值,怎么回事?我查看元素,input的value里面也没有值,但是页面上文本框里面是有值的,请问怎么拿到输入的值 解决方案 解决方案二:input本来就是在元素里看不到Value的啊,确认你的selector对了没取值就是$(selector).val()解决方案三:问题已经找到了,是因为加了runat="server"的原因解决方案四:那

请问 如何把ID值 正确的让这句sql = &amp;amp;quot;select * from qiye where qiyeid =&amp;amp;quot;&amp;amp;amp;id语句查到 ID获取时&amp;amp;lt;input type=text name=&amp;amp;quot;qiyeid&amp;amp;quot; value=&amp;amp;quot;&amp;amp;lt;%=rs(&amp;amp;quot;qiyeid&amp;amp;quot;)%&amp;

问题描述 <%@Language=VBScript%><!--#includefile="conn.asp"--><%qc=LCase(request("qc"))dizhi=LCase(request("dizhi"))bianma=LCase(request("bianma"))xingzhi=LCase(request("xingzhi"))hangye=LCase(re