最近遇到了一个特别恶心的bug,做一个多行文本输入框,用textarea,之后发现在安卓和客户端上能正常显示和输入,而在苹果手机输入汉字的时候,汉字的拼音会自动联想输入到输入框中,十分影响体验,输入汉字的时候,会把你敲的拼音和你确定选择的汉字一起显示在输入框中,要多恶心有多恶心。
把textarea用div替代。
但是在submit表单提交时,不能获取到这个模拟输入框的值自动提交,可以弄一个隐藏表单,取出这个模拟输入框的值赋值给他再提交。
查阅相关资料,发现是和输入框的输入事件(input的事件有关),可以监听他的输入事件,在输入前,输入时,输入后进行 *** 作,避免ios手机输入框实时监听你按下键盘,这样你只有按下完成的拼音,选择完你要打的字之后,这个input的事件才会触发。
这是我最后才发现的解决方法,原理不知道,textarea中不能使用oninput事件,使用了的话苹果手机就会出现那种情况,其它系统不会。
textarea粘贴事件第一次拿不到值是?粘贴事件第一次拿不到纸,那是因为这种粘贴事件的话,一般都是不可以复制粘贴的,所以第一次是拿不到这种等级的,所以也就是拿不到值的,那也就是eudi。
contenteditable 属性是 HTML5 中的新属性,设置属性值为true时可实现将div、p等元素转化为类似input的可输入元素。但是此元素在输入中文时无法正常使用onchange事件实现常规需求,如下提供可替换方案:
假设需求:可编辑输入框中输入值改变即向后台请求,发送数据。
如果是input、textarea元素,此场景可以用onchange事件轻松完成,然而可编辑的div元素利用此onchange或者oninput事件时会出现不符场景的非常规情况(输入中文时,中文未生成,仍在敲击键盘时会触发输入值改变,获取当前敲击的英文字母而发送请求)
eg: >
以上就是关于ios的textarea中用拼音输入汉字拼音也会自动输入到输入框中全部的内容,包括:ios的textarea中用拼音输入汉字拼音也会自动输入到输入框中、textarea粘贴事件第一次拿不到值是、如何实现contenteditable可输入元素的onchange事件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)