Phonegap + Android 4.4:如何检测何时软键盘隐藏

Phonegap + Android 4.4: How to detect when the SoftKeyBoard hides?

本文关键字:检测 何时软 键盘 隐藏 何检测 Android Phonegap      更新时间:2023-09-26

我试图添加一个事件侦听器来检测何时软键盘隐藏,但它不工作!

我试过这个代码:

    document.addEventListener('deviceready', function() {           
       document.addEventListener("hidekeyboard", function() {
           alert('hidekeyboard!');
       }, false);
    }, false);

当输入丢失焦点时,我试图检测它,但是当软键盘隐藏时,输入元素仍然保持焦点..

提前感谢!

试试这个::

    var lastFocused;
    $(document).on("focusout","input[type='date'],input[type='time'],input[type='week'],input[type='text'],textarea,select",function(){
        lastFocused = undefined;
        // console.log("yes me call focusout");
    });
    $(document).on("focus","input[type='date'],input[type='time'],input[type='week'],input[type='text'],textarea,select",function(){
        if(utils.isUndefined(lastFocused) == false && lastFocused.is($(this)) == false){
            lastFocused.blur();
            ///////////////////////////////////////////////////////////////////////////////
            // console.log("Here you can get your keyboard is hide");
        }
        lastFocused = $(this);
        // console.log("yes me call focus");
    });

我找到了解决问题的方法。问题是'hidekeyboard'事件从未被Phonegap触发,因为webview有错误并且是静态的(当软键盘被触发时它从未调整大小)。因为webview永远不会调整大小,所以这个事件永远不会被触发。

我们可以在类LinearLayoutSoftKeyboardDetect中找到事件的触发。

谢谢大家!