【发布时间】:2009-10-24 10:44:03
【问题描述】:
我正在使用带有modal=true 的jQuery UI 对话框。在 Chrome 和 Safari 中,这会禁用通过滚动条和光标键滚动(使用鼠标滚轮滚动和向上/向下翻页仍然有效)。
如果对话框太高而无法放在一页上,就会出现问题 - 笔记本电脑上的用户会感到沮丧。
三个月前有人在 jQuery 错误跟踪器上提出了这个问题 - http://dev.jqueryui.com/ticket/4671 - 看起来修复它并不是一个优先事项。 :)
有人也是这样:
- 有解决办法吗?
- 有建议的解决方法,可以提供良好的可用性体验?
我正在尝试在表单的某些部分上使用鼠标悬停/滚动,但这不是一个很好的解决方案:(
编辑: 向 Rowan Beentje(他不在 SO afaict 上)表示支持,以找到解决方案。 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
});
使用风险自负,我不知道解除绑定这些东西可能允许的其他非模态行为。
【问题讨论】:
标签: jquery jquery-ui safari google-chrome