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
    }
    }

    只要把loginBtn换成弹出层的按钮即可


    转自:https://www.cnblogs.com/php-linux/p/8005649.html
posted @ 2018-05-02 14:14  Brl  阅读(3255)  评论(0编辑  收藏  举报