javascript - 为什么我的滚动事件监听器没有触发?

标签 javascript angularjs dom-events event-listener

我正致力于在 Angular 应用程序中构建无限滚动功能。一次构建一个步骤,目前我正在将 eventListener 附加到 #tags-panel-list 并需要检查它的 y 位置。

但是我使用的 eventListener 没有触发任何基本的 console.log

公众号:http://plnkr.co/edit/7OnKAGvVNXWLwN5fZqJu?p=preview


tagsPanel.html 标记:

<section id="tags-col" class="tag-column column">
    <ul id="tags-panel-list">
        <li ng-repeat="tag in tags">
          <div class="tag">{{tag.term}}</div>
        </li>
    </ul>
</section>

tagsPanelDirective Controller 代码(使用 $timeout 以防 Angular 在第一次加载时无法看到 DOM 元素):

var scrollingElement =  function(event) {
    // I do not see these console logs in the chrome dev inspector
    console.log('scrolling...');
    console.log(event);
};

$timeout(function() {
    document.getElementById('tags-panel-list').addEventListener('scroll', scrollingElement);
}, 250);

最佳答案

您还可以在现代浏览器上收听“wheel”。无论元素如何,这都会拾起滚动条。

document.addEventListener("wheel", function(event) {
    console.log(event);
});

关于javascript - 为什么我的滚动事件监听器没有触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30630731/

相关文章:

javascript - Angular 工厂模块获取 promise 数据

javascript - Angular Directive(指令)模板未显示

javascript - 简单的 JavaScript 函数来持续改变按钮 onclick 的状态?

javascript - SVG 鼠标事件在 Firefox4 中有效,但在 IE8 中无效

javascript - DataTables Ajax 错误 - 无效的 JSON 响应

javascript - sessionStorage 和粘性 session

angularjs - 使用 Angular js 将 servlet 中的数据显示到 <select> 标记中

javascript - 解释一下这个 JavaScript onload 函数

javascript - 使用隐藏属性与有条件地渲染组件

JavaScript 范围和为 foreach 索引选择名称