AngularJS:仅执行一次的事件处理程序

时间:2013-07-03 13:16:31

标签: javascript-events angularjs angularjs-directive

是否有指令或方法在AngularJS中实现.one()函数通过jquery实现的功能?

即,将事件附加到仅执行一次的元素。

1 个答案:

答案 0 :(得分:9)

将ng-click连接到所需的元素,然后在控制器的ng-click功能中有一个变量,您可以切换到使ng-click不再执行

的状态的变量
var firedOnce = false;
scope.myClickFunction = function(){
    if(firedOnce){ return; }
    //other code
    firedOnce = true;
}

您也可以连接指令来执行此操作。

编辑:指令方法的Jsfiddle:http://jsfiddle.net/4hDb3/