layer弹窗在键盘按回车将反复刷新

 

 
条件:弹窗后不做任何点击操作或者聚焦操作
对于layer.load,弹出后反复按回车,load层将不断刷新,即使设置了自动消失也只有等不按回车键才会生效。
对于layer iframe层有表单就更糟糕了,每按一次回车,iframe表单页面将会被刷新,数据将会丢失。(这是form中存在input按回车会自动以form的method属性方法提交表单,如果你在提交按钮上设定了弹窗事件的话,将会直接提交,并且弹窗也被激发,出现错误)。
这似乎是打开iframe或弹窗后,鼠标的焦点出现了问题,鼠标的焦点还停留在激发窗口的控件上,每按一次回车,相当于反复弹窗,会在屏幕上叠很多层。
测试了一下,当弹窗后,点击弹窗身体的任意部位后(不包括标题),再按回车键就不会出现bug了。
  • parent.document.onkeydown = function(e){    
    var ev =parent. document.all ? window.event : e;
    if(ev.keyCode==13) {
    $('#loginBtn').trigger("click");
    return false
    }
    }
    document.onkeydown = function(e){
    var ev =document.all ? window.event : e;
    if(ev.keyCode==13) {
    $('#loginBtn').trigger("click");
    return false
    }
    }
    我这个是用在弹出层页面用的
    <input id="loginBtn" name="button" type="submit" value="登 录" class="l_button" />
     

http://fly.layui.com/jie/14518/

posted @ 2017-12-08 15:36  brady-wang  阅读(2794)  评论(0编辑  收藏  举报