twitter-bootstrap - 如何在 Bootstrap 模式上收听滚动事件?

标签 twitter-bootstrap events scroll modal-dialog

我有一个很长的 Bootstrap 模式,就像最后一个例子 here .我想检测用户是否在模式打开时滚动。

我试过了

document.addEventListener('scroll', function(event) {
        console.log("Scrolling");
});

也试过
$(document).on("scroll","#myModalID",function() {
     // I tried targeting .modal-body and .modal-content too
     console.log("Scrolling");
});


$(window).on("scroll",function() {
     console.log("Scrolling");
});

在我打开模态之前,所有这些都有效。但是当模式打开时,上述代码都不起作用。当我关闭模式并滚动时再次工作。

最佳答案

您应该注意到 scroll事件没有冒泡,因此您不能将处理程序附加到某些父元素(如 document )或使用事件委托(delegate)与 .on在 jQuery 中。

只需直接选择元素(因为您已定义其 id),如下所示:

document.getElementById('myModalID')
        .addEventListener('scroll', function(event) {
    console.log("Scrolling");
});

或者对于 jQuery:
$('#myModalID').on("scroll", function() {      
  console.log("Scrolling");
});

这应该有效(我已经尝试过了)。

关于twitter-bootstrap - 如何在 Bootstrap 模式上收听滚动事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42424062/

相关文章:

在用户交互之前,Android WebView 无法完全呈现内容

jquery - 使用 youtube api 上传文件视频的进度条

jquery - 如何使用 Bootstrap 将列高度适合主体?

c# - 使用 NUnit 和 Moq 对事件进行单元测试的更好方法?

javascript - 内部 div 的事件累积外部 div 的事件数

javascript - 在多个元素中将进度条显示为滚动

java - 我可以使用 Maven 将 BootStrap 和 JQuery 插入 Java Web 应用程序吗?

jquery - Bootstrap/Rails 中的动态列和行

javascript - JWPlayer Javascript 文件加载

javascript - 滚动到页面底部时显示和隐藏页脚元素