javascript - 角度js滚动指令不起作用
问题描述
我正在尝试执行 angular (1.3.14) 指令来处理这样的元素上的滚动事件
var app = angular.module('myApp', []);
app.directive("scroll", function ($window) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
console.log(element.className); // return 'undefined'
element.on('scroll', function(e) {
console.log('scroll'); //not working
});
element.on('click', function(e) {
console.log('click'); //working
});
}
}
});
我的问题是滚动事件不会触发。像点击这样的所有其他事件都可以正常工作,但不能滚动。此外,当我尝试获取元素类时,我得到“未定义”并且我的元素具有类。这是html:
<body ng-app="myApp" ng-controller="myCtrl" ng-keydown="keyListener($event)">
<section class="dark content second" scroll="">
</section>
</body>
我不知道这里有什么问题。
解决方案
您的指令是正确的,我在您的部分中使用内部 div 进行了测试,其中包含一些类以使其可滚动
<section class="dark content second" scroll="">
Hi
<div class="internal">
Something
</div>
</section>
CSS
.second{
background-color: red;
max-height: 150px;
overflow-y:scroll;
}
.internal{
height: 200px;
}
活动完美无缺!您只需要使您的<section>
可滚动或在 body/html 标记中应用指令。这是我测试过的 Plunker 示例http://plnkr.co/edit/hp2BbnLeGjtwIbfi2mqZ?p=preview
推荐阅读
- binary - Java:二进制形式表示
- react-native - 如何再次更新 redux 状态?
- python - 相对于没有重复列的列转置数据框
- react-native - React Native fontWeight 在 iOS 中不起作用
- neo4j - 如何组合两个或多个 neo4j 密码结果列
- rust - Rust“太多列表”自引用?
- javascript - 数据表 javascript 返回 html 标记以及刀片 url
- database - 由于我的 Cassandra 集群中的负载过大,节点上的写入失败
- julia - Julia中线程的问题环境变量
- matrix - 使用 Elixir 将数字列表转换为二维矩形/多边形表示