5

I have a number of tooltips a date pickers used in my modal. How can I detect if the overflow modal has been scrolled so I can either reposition any open floating elements and reposition them according to the modal scroll position? Thx

window.scroll is not firing!

An example of this is available here: Long modals (bottom of page) http://jschr.github.io/bootstrap-modal/

4

4 回答 4

6

好的,我整理好了。滚动事件不会传播到 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
});
于 2013-09-14T08:55:14.730 回答
2

你已经回答了你自己的问题,但我要补充一点,它也是这样工作的:

$("#modalcontact").modal().on('loaded.bs.modal', function(){
   $(this).parents('.modal-scrollable').scroll(function(){
      //Do stuff
   });
});

我一直在努力处理显示的事件,但这是因为内容是远程加载的。

于 2014-02-24T13:03:48.883 回答
0

这对我有用,而早期的答案由于某种原因没有。但是我正在使用代码打开模态窗口,这样我就可以在显示之前用内容动态填充它。

 $('#modalcontact').modal('show');

 $(".modal-scrollable").unbind("scroll");
 $(".modal-scrollable").scroll(function () {
    $('body').append('Hey hey hey!');
 });
于 2014-09-10T06:20:53.600 回答
0

尝试

$(document).on('scroll', '.modal-scrollable', function(){
//your code here
});

滚动事件处理程序不仅可以绑定到窗口。

于 2013-09-14T08:30:27.233 回答