modal=true
的jQuery UI对话框。 在Chrome和Safari中,这将禁用通过滚动条和光标键进行滚动(仍然可以使用鼠标滚轮和页面上/下滚动)。如果对话框太高而无法适合一个页面,则会出现问题 - 笔记本电脑用户会感到沮丧。
三个月前有人在jQuery错误跟踪器上提出了这个问题- http://dev.jqueryui.com/ticket/4671 - 看起来修复它不是优先考虑的事情。 :)
那么,有没有人:
1. 有解决此问题的方法? 2. 有建议的解决方法可以提供良好的可用性体验?
我正在尝试在表单的一些部分上使用mouseover / scrollto,但这不是一个很好的解决方案 :(
编辑:赞美 Rowan Beentje(似乎不在SO上)找到了解决方案。 jQuery UI通过捕获mouseup / mousedown事件来防止滚动。 因此,下面的代码似乎可以解决它:
$("dialogId").dialog({
open: function(event, ui) {
window.setTimeout(function() {
jQuery(document).unbind('mousedown.dialog-overlay')
.unbind('mouseup.dialog-overlay');
}, 100);
},
modal: true
});
使用需谨慎,我不知道取消绑定此内容可能导致的其他非模态行为。