Wie kann ich binden eines benutzerdefinierten Ereignisses in einem angularjs-Direktive?

Ich habe Probleme beim fangen eines Ereignisses, das gesendet wird, wie diese:

document.body.dispatchEvent(event);

In der Richtlinie unten auf ein div-Element, in den Körper hinein:

.directive('myDirective',function(){
  return {
    restrict: 'A',
    link: function(scope, element, attrs, pageCtrl){

      element.bind('myEvent', function(){
        console.log('caught my event!');
      });
    }
  };
});

Dies funktioniert, wenn das Ereignis gesendet wird, mit triggerHandler auf die div.

event = new Event('myEvent');
elem.triggerHandler(event);

Wie kann ich fangen eine benutzerdefinierte Ereignis-die auf den Dokument-Körper in eine Richtlinie?

Update:
Dies ist für die Verwendung in einer Cordova-app mit einem vorhandenen plugin, das löst Ereignisse aus, auf dem Dokument.Körper. So gibt es eine andere Möglichkeit, die ich fangen kann, diese Ereignisse, in eine Richtlinie über ein div?

Zunächst ist es notwendig, in Ihrem Fall zu verwenden, der DOM zu emittieren und auf Ereignisse reagieren? Ich Frage, weil es gibt ein paar Möglichkeiten, in Winkel selbst zu kommunizieren, über Ihre app, inklusive Winkel-eigene event-system.

InformationsquelleAutor AgDude | 2014-05-06

Schreibe einen Kommentar