찾다

 >  Q&A  >  본문

angular.js - 在移动端web上如何解决输入法挡住文本框问题?

在移动端web页面内定义了一个比较大的textarea大概能显示15行字,点击textarea的时候,输入法弹出来会遮住textarea下端的几行字,导致输入的字数到10行之后,后面的输入的字都被输入法挡住了,变成了盲打,体验很差。

请问使用js有什么方法可以解决这种问题?

刚刚写了个比较笨的方法,发现只有三星的手机以及android5.0能兼容,什么小米,vivo之类的乱七八糟的机子都不认这个方法,醉了。。

<textarea class="form_textarea" onfocus="textfocus(this)" onblur="textblur(this)" rows="" cols=""></textarea>



<script type='text/javascript'> 
function textfocus(o){ o.style.position = 'fixed'; o.style.top = '50px'; o.style.zIndex = '999'; } 
function textblur(o){ o.style.position = 'static'; o.style.top = 'auto'; } 
</script>


漂亮男人漂亮男人2744일 전774

모든 응답(2)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-05-15 16:54:01

    1. 텍스트 영역이 포커스 이벤트를 받으면 자동으로 텍스트 상자를 화면 상단으로 스크롤합니다
    2. 디자인된 입력 상자는 화면의 절반을 초과해서는 안 됩니다. 초과해야 하는 경우 텍스트 영역에 변경 이벤트가 발생하여 입력된 단어 수를 계산하고 그에 따라 입력 상자를 위로 스크롤합니다

    이렇게 하면 매우 친근해질 것입니다

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:54:01

    고정 위치 사용, 하단

    회신하다
    0
  • 취소회신하다