條件:彈窗后不做任何點擊操作或者聚焦操作
對於layer.load,彈出后反復按回車,load層將不斷刷新,即使設置了自動消失也只有等不按回車鍵才會生效。
對於layer iframe層有表單就更糟糕了,每按一次回車,iframe表單頁面將會被刷新,數據將會丟失。(這是form中存在input按回車會自動以form的method屬性方法提交表單,如果你在提交按鈕上設定了彈窗事件的話,將會直接提交,並且彈窗也被激發,出現錯誤)。
這似乎是打開iframe或彈窗后,鼠標的焦點出現了問題,鼠標的焦點還停留在激發窗口的控件上,每按一次回車,相當於反復彈窗,會在屏幕上疊很多層。
測試了一下,當彈窗后,點擊彈窗身體的任意部位后(不包括標題),再按回車鍵就不會出現bug了。
對於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/