键盘弹出时向上滚动文本字段

时间:2013-08-26 18:32:47

标签: javascript android android-layout android-softkeyboard

我正在使用html5 / javascript / jQuery / css进行移动应用开发。我在应用程序中有多个textareas。当我点击它输入时,键盘弹出(android选项卡)。但是textarea仍然保留在该页面上的位置。键盘弹出时如何滚动页面。

3 个答案:

答案 0 :(得分:9)

使用jQuery,获取textarea的offset().top值,然后使用scrollTop()设置文档滚动位置

var $htmlOrBody = $('html, body'), // scrollTop works on <body> for some browsers, <html> for others
    scrollTopPadding = 8;

$('textarea').focus(function() {
    // get textarea's offset top position
    var textareaTop = $(this).offset().top;
    // scroll to the textarea
    $htmlOrBody.scrollTop(textareaTop - scrollTopPadding);
});

jsfiddle example

答案 1 :(得分:2)

要完成答案,如果要为滚动替换设置动画:

$htmlOrBody.scrollTop(textareaTop - scrollTopPadding);

通过

var timing = 250;
$htmlOrBody.animate({ scrollTop: textareaTop - scrollTopPadding }, timing);

答案 2 :(得分:0)

仅检测浏览器窗口大小的变化,当弹出键盘时,浏览器窗口大小将发生变化

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        var output: CInt = 0
        changeInput(&output)
        print("output: \(output)")


        let input: String? = "strudent name"
        let stu = student(id: 1, name: input?.cString(using: .utf8), percentage: 10.0)
        passByStudent(stu)
    }
}