我正在尝试收听所有移动事件,例如触摸,滑动等。我在文档级别上添加了EventListener。
document.addEventListener('tap', trackTouchActivity, false);
document.addEventListener('swipe', trackTouchActivity, false);
function trackTouchActivity(event) {
// any activity
}
这仅在Angular应用的第一页上起作用,但在应用程序的其他页面/控制器上不起作用。
我还尝试在$ rototscope中添加代码
app.run(function($rootScope){
document.addEventListener('swipe', trackTouchActivity, false);
document.addEventListener('tap', trackTouchActivity, false);
function trackTouchActivity(event) {
$rootScope.$apply(function(){
// any activity
// some variable = true
});
}
});
我是Angular的新手,可能是我做错了什么。如何在整个应用程序中实现侦听事件的功能?
在组件上听触摸(start(x:
@Component({
host: {
'(document:touchstart)': 'onClick($event)',
},
})
class SomeComponent() {
constructor(private _eref: ElementRef) { }
onClick(event) {
if (!this._eref.nativeElement.contains(event.target))
doSomething();
}
}
对于我建议使用ngtouch的其他事件,您将可以使用此软件包收听任何其他移动行为。
祝你好运!