Wie man mouseup außerhalb der Komponente im Winkel 2
Ich habe eine abc Komponente (Teil der Seite). Es hat ein Ereignis mouseup.
@Component({
selector: 'abc-component'
})
@View({
<div (mousedown)="mouseDown()" (mouseup)="mouseUp()"></div>
})
export class ScheduleComponent {
mouseDown(){
//doSomthing
}
mouseUp(){}
}
Aber das mouseup-Ereignis nur ausgelöst, wenn die Maus innerhalb des <div>
. Wie kann ich das Ereignis auszulösen, auch außerhalb der <div>
?
Muss ich verschieben (mouseup)="mouseUp()"
zu app.ts und dann so etwas wie @Output
oder service
zu lassen app.ts wissen? Gibt es eine andere Möglichkeit?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie eine Globale Veranstaltung Ziel wie
hören-events weltweit. (
body
unddocument
so gut funktionieren).Dies funktioniert natürlich auch in der Komponenten-Klasse
In der Komponente seine bevorzugte gehen Sie wie folgt vor:
in dieser Weise werden Sie nicht brauchen, entfernen Sie das Ereignis auf
ngDestroy
Einer Komponente zugreifen können Ereignisse durch die
window
unddocument
Objekte. So konnte Sie richten Sie einen Ereignis-listener in die Komponente Konstruktor:function() {}
zu() => {}
, ansonsten kann er nicht findenmouseup()
.Etwas alt, aber das könnte jemandem helfen, die Sie verwenden können, zu Beobachten.fromEvent zu: