我有一个叠加层div,它在滚动时淡入,在滚动时淡出。工作良好。在表单中输入文本时,我的用户对此div感到恼火,有时会隐藏“发送”按钮。
因此,当我专注输入时,我尝试用JS隐藏它。在桌面上像超级按钮一样工作,但在移动设备上无法正常运行,这是因为键盘弹出时也会移动内容。因此,它触发滚动事件,使其再次可见。

我想知道如何以最简洁的方式解决此问题,下面是我的摘录中的任何示例?

$(window).scroll(function(){
    if($(this).scrollTop()>800){
        $('.symo').fadeIn()
    }else{
        $('.symo').fadeOut()
    }
});
$('form').delegate(':input', 'focus', function() {
    $('.symo').hide();
})
.delegate(':input', 'blur', function() {
    $('.symo').show();
});

最佳答案

这是一个工作片段,也删除了委托的内容。

谢谢!

$(window).scroll(function(){
    if($(this).scrollTop()>800 && !$("input,textarea").is(":focus")){
        $('.symo').fadeIn()
    }else{
        $('.symo').fadeOut()
    }
});

10-07 14:29