这是一个我希望有人可以解决的谜。以下代码在firefox中表现完美 - 特别是,当对话框打开时,它会在页面中央打开,按键将触发对话框中指定按钮的单击(如open:function中所指定)。但是,在IE中,行为是对话框被附加到页面的末尾,此外,页面持续变得越来越长,对话框在底部显示为闪烁(如果您可以快速滚动以保持跟上用它)。我已经将它缩小到open函数中的bind(“keypress”)动作,但不能为我的生活找出原因。在调试器中,该函数只被命中一次,因此在此之后触发无限循环。我不确定这什么时候开始失败 - 我最近安装了最新的Telerik MVC控制套件,它将我的jquery升级到1.5,这可能是问题,但我不确定 - 希望不必将所有这些都回滚只是为了解决这个问题。那么,谁见过这个?
$("#LogOnWindow").dialog({
autoOpen: false,
modal: true,
width: 350,
height: 235,
closeOnEscape: false,
draggable: false,
resizable: false,
open: function(event, ui) {
$('#refresh').bind('keypress', function(e){
if ( e.keyCode == 13 && $(e.target).is(':input') ) {
$('#btnRefreshLogon').click();
}
});
},
close: function(event, ui) { $('#refresh').unbind('keypress'); }
});