Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止键盘隐藏时输入失去焦点-iOS Safari JQuery_Javascript_Jquery_Html_Ios - Fatal编程技术网

Javascript 防止键盘隐藏时输入失去焦点-iOS Safari JQuery

Javascript 防止键盘隐藏时输入失去焦点-iOS Safari JQuery,javascript,jquery,html,ios,Javascript,Jquery,Html,Ios,我有一个输入,它有一个自定义的下拉部分,显示用户键入的结果。此下拉列表仅在输入具有焦点时显示,因此如果用户单击远离输入,下拉列表将消失 当用户在移动iOS设备上时,键盘占据屏幕的一半。我们希望用户键入(显示下拉建议),然后隐藏键盘,以便他们可以滚动浏览结果。问题是,当键盘被隐藏时,焦点丢失,因此下拉菜单消失 这可以检测键盘何时关闭: document.addEventListener('focusout', function(e) { //Do something }); 问题是,当用户从输入

我有一个输入,它有一个自定义的下拉部分,显示用户键入的结果。此下拉列表仅在输入具有焦点时显示,因此如果用户单击远离输入,下拉列表将消失

当用户在移动iOS设备上时,键盘占据屏幕的一半。我们希望用户键入(显示下拉建议),然后隐藏键盘,以便他们可以滚动浏览结果。问题是,当键盘被隐藏时,焦点丢失,因此下拉菜单消失

这可以检测键盘何时关闭:

document.addEventListener('focusout', function(e) { //Do something });
问题是,当用户从输入字段单击时,此事件也会触发。是否有某种方法可以判断此事件何时来自键盘隐藏而不是任何其他事件?我认为最好的方法可能是实施以下措施:

function hideDropdown() {
    If keyboard was just hidden
        return
    else 
        proceed to hide dropdown
}

是否有一个特定的插件用于下拉列表?通常,在大多数情况下,您可以强制下拉列表保持打开状态。然后,您可以在javascript中创建焦点事件的侦听器,这类似于侦听键盘打开事件。你也可以使用模糊监听器来处理键盘关闭。听起来像是自动完成,为什么你要隐藏自定义下拉列表?有没有一个特定的插件用于下拉列表?通常,在大多数情况下,您可以强制下拉列表保持打开状态。然后,您可以在javascript中创建焦点事件的侦听器,这类似于侦听键盘打开事件。你也可以使用模糊监听器来关闭键盘。听起来像是自动完成,为什么你要隐藏自定义下拉列表呢?