【发布时间】:2013-09-18 22:15:31
【问题描述】:
我的模式中有许多工具提示和日期选择器。如何检测溢出模态是否已滚动,以便我可以重新定位任何打开的浮动元素并根据模态滚动位置重新定位它们? 谢谢
window.scroll 没有触发!
这里有一个例子:长模式(页面底部) http://jschr.github.io/bootstrap-modal/
【问题讨论】:
标签: javascript jquery html css twitter-bootstrap
我的模式中有许多工具提示和日期选择器。如何检测溢出模态是否已滚动,以便我可以重新定位任何打开的浮动元素并根据模态滚动位置重新定位它们? 谢谢
window.scroll 没有触发!
这里有一个例子:长模式(页面底部) http://jschr.github.io/bootstrap-modal/
【问题讨论】:
标签: javascript jquery html css twitter-bootstrap
好的,我整理好了。
滚动事件不会传播到 DOM 的文档级别,因此 $(document).on 不起作用。
我用这个 hack 解决了这个问题。
这确实工作了。
$(document).on("shown", "#modalcontact", function() {
$(".modal-scrollable").unbind("scroll");
$(".modal-scrollable").scroll(function(){
//do stuff
});
});
这没有工作。
$("#modalcontact").modal({
shown: function (){
$(".modal-scrollable").scroll(function(){
//do stuff
});
}
});
这没有工作。
$(document).on("scroll", ".modal-scrollable", function(){
//do stuff
});
【讨论】:
你已经回答了你自己的问题,但我想补充一点,它也是这样工作的:
$("#modalcontact").modal().on('loaded.bs.modal', function(){
$(this).parents('.modal-scrollable').scroll(function(){
//Do stuff
});
});
我一直在努力处理显示的事件,但这是因为内容是远程加载的。
【讨论】:
试试
$(document).on('scroll', '.modal-scrollable', function(){
//your code here
});
滚动事件处理程序不仅可以绑定到窗口。
【讨论】:
这对我有用,而早期的答案由于某种原因没有。但是我正在使用代码打开模态窗口,这样我就可以在显示之前用内容动态填充它。
$('#modalcontact').modal('show');
$(".modal-scrollable").unbind("scroll");
$(".modal-scrollable").scroll(function () {
$('body').append('Hey hey hey!');
});
【讨论】: