Javascript .delay()无法处理我的.show()JQuery

Javascript .delay()无法处理我的.show()JQuery,javascript,jquery,Javascript,Jquery,我试图让我的页脚在移动设备上消失,并且只在键盘打开时消失。但问题是,在键盘关闭之前,页脚会重新出现。这是因为我使用的是文本框中的事件,而不是键盘处于打开状态。所以我认为解决这个问题的最好方法是使用.delay(),但是,这根本不起作用。有人有什么想法吗 <script> var isMobileView = false; //global variable $(document).ready(function () { function setSc

我试图让我的页脚在移动设备上消失,并且只在键盘打开时消失。但问题是,在键盘关闭之前,页脚会重新出现。这是因为我使用的是文本框中的事件,而不是键盘处于打开状态。所以我认为解决这个问题的最好方法是使用
.delay()
,但是,这根本不起作用。有人有什么想法吗

<script>
    var isMobileView = false; //global variable

    $(document).ready(function () {

        function setScreenWidthFlag() {
            var newWindowWidth = $(window).width();
            if ( $(window).width() > 600) {   
                isMobileView = false;
            }
            else {
                isMobileView = true;
            }
        }

        $(".tbinputArea").focus(function() {
            if(isMobileView)
                $("#footer").hide();
        });

        $(".tbinputArea").focusout(function() {
            if(isMobileView)
                $("#footer").delay(500).show();
        });

        setScreenWidthFlag();

        $(window).on("resize", function (e) {
            setScreenWidthFlag();
        });
    }); 
</script>

var isMobileView=false//全局变量
$(文档).ready(函数(){
函数setScreenWidthFlag(){
var newWindowWidth=$(window.width();
如果($(window.width()>600){
isMobileView=假;
}
否则{
isMobileView=真;
}
}
$(“.tbinputArea”).focus(函数(){
if(isMobileView)
$(“#页脚”).hide();
});
$(“.tbinputArea”).focusout(函数(){
if(isMobileView)
$(“#页脚”).delay(500.show();
});
设置ScreenWidthFlag();
$(窗口)。打开(“调整大小”,函数(e){
设置ScreenWidthFlag();
});
}); 

请参阅本说明,并准确解释了原因


延迟只是队列延迟,而不是任何事件延迟,因此请尝试添加一些事件,如fadeIn或类似事件。

请参阅此解释,并精确解释其原因

$("#footer").delay(500).show(0);
延迟只是用于队列延迟,而不是任何事件延迟,因此请尝试在类似fadeIn或类似事件中添加一些事件

$("#footer").delay(500).show(0);
试试这个

试试这个