Javascript 如何在控制器中为ng blur添加新功能?

Javascript 如何在控制器中为ng blur添加新功能?,javascript,angularjs,angular,Javascript,Angularjs,Angular,我想在所有输入/文本区域字段的ng模糊中添加一个新函数。 输入字段和文本区域在html中有一个现有的ng模糊,我想在控制器中的现有ng模糊中添加一个新函数 我尝试使用setAttribute添加它,但这会覆盖现有的ng blur函数 const formElems= iElem[0].querySelectorAll('input, textarea'); formElems[0].setAttribute('data-ng-blur', 'newFunction()'); $compile(a

我想在所有输入/文本区域字段的ng模糊中添加一个新函数。 输入字段和文本区域在html中有一个现有的ng模糊,我想在控制器中的现有ng模糊中添加一个新函数

我尝试使用setAttribute添加它,但这会覆盖现有的ng blur函数

const formElems= iElem[0].querySelectorAll('input, textarea');
formElems[0].setAttribute('data-ng-blur', 'newFunction()');
$compile(angular.element(formElems[0]))($scope);
我想在ng blur中扩展函数,但不是直接在HTML中扩展


如何将控制器内的新功能添加到所有输入和文本区域的ng模糊中,并保留当前功能

您不需要在模板中执行任何操作

只需在控制器中创建一个新函数,并从已存在的函数调用此函数。它不会破坏您现有的功能

见下例-

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.firstName=“John”;
$scope.lastName=“Doe”;
$scope.myFunction=function(){
log(“您当前的工作代码”);
$scope.extendedFunction();
}
$scope.extendedFunction=函数(){
log('您应该在这里编写新代码');
}
});

名字:
姓氏:

全名:{{firstName+“”+lastName}
最后,我找到了一个解决方案,首先使用getAttribute()获取现有属性


我也这么想,但是有些输入字段没有函数,或者不是同一个函数。难道没有一个替代方案可以在控制器中扩展,而不是在exists函数中扩展吗?我没有找到替代方案。但您可以做一件事,对于当前没有任何模糊事件的输入,您可以添加
extendedDunction
作为事件。对于那些具有另一个函数的函数,在函数的最后一个,您可以调用
extendedDunction
,正如我们从
myFunction
调用的那样。好的,谢谢@Alok-Mali的评论。我会寻找解决方案,也许有人有解决方案:)
const oldAttributes = formElems[0].getAttribute('ng-blur');
formElems[0].setAttribute('ng-blur', oldAttributes + ' testConsole();');