Skip to content Skip to sidebar Skip to footer

Event Handler That Executed Only Once

Is there a directive or a way to implement in AngularJS what .one() function achieves with jQuery? i.e., to attach an event to an element that gets executed only once.

Solution 1:

Wire up an ng-click to the element you want, then in the ng-click function in your controller have a variable that you toggle to a state that would make the ng-click no longer execute something like

var firedOnce = false;
scope.myClickFunction = function(){
    if(firedOnce){ return; }
    //other code
    firedOnce = true;
}

You could also wire up a directive to do it too.

edit: Jsfiddle of directive method: http://jsfiddle.net/4hDb3/

Post a Comment for "Event Handler That Executed Only Once"