Javascript jQuery&x27的替代品是什么;AngularJS中的模糊事件?

Javascript jQuery&x27的替代品是什么;AngularJS中的模糊事件?,javascript,jquery,angularjs,onblur,Javascript,Jquery,Angularjs,Onblur,当使用angularjs在组件外部单击时,我必须关闭任何打开的组件。模糊事件是否有角度指示?如果没有,我该怎么做?您可以使用Angular UI@提供模糊、聚焦、双击事件,或者将回调绑定到Angular Js本机不支持的任何事件 下面是模糊事件的一个示例: <input ui-event="{ blur : 'blurCallback()' }"> <script> $scope.blurCallback = function() { alert('Goodbye');

当使用angularjs在组件外部单击时,我必须关闭任何打开的组件。模糊事件是否有角度指示?如果没有,我该怎么做?

您可以使用Angular UI@提供模糊、聚焦、双击事件,或者将回调绑定到Angular Js本机不支持的任何事件

下面是模糊事件的一个示例:

<input ui-event="{ blur : 'blurCallback()' }">

<script>
$scope.blurCallback = function() {
alert('Goodbye');
};
</script>

$scope.blurCallback=函数(){
警惕(“再见”);
};

支持聚焦和模糊事件的指令将包含在下一个AngularJS版本中,该版本应该很快发布(我猜是在下个月)。如果你不能像JQueryGuru建议的那样等待,你可以使用AngularUI项目中的
uiEvent
指令。

如果你不想使用AngularUI的
ui event
,你也可以创建一个小指令,直到下一个版本的
angular
发布

app.directive('ngBlur', function() {
  return function( scope, elem, attrs ) {
    elem.bind('blur', function() {
      scope.$apply(attrs.ngBlur);
    });
  };
});
只要把指令放在你需要的地方:

<input type="text" ng-model="foo" ng-blur="doFoo()" />

基本上,该指令所做的是绑定元素的模糊事件(在我们的示例中是输入),然后在触发事件时(我们离开输入),angular将应用该指令中的内容。因此,在我们的例子中,如果我们离开输入,
doFoo()
将被激发

Plunker在此:

本机ng blur“在最新版本中根本不起作用。”

你可以按照这篇文章的步骤来解决这个问题 “AngularJs中不直接支持模糊事件。但我们可以通过创建指令来添加对模糊事件的支持。”

从Angular 1.2.24*开始,有一个
ng blur
指令

// View
<input 
    type="text"
    placeholder="Hello World!"
    ng-model="foo.bar"
    ng-blur="onBlur($event)"
    >

// Controller
$scope.onBlur = function($event) {
    return $event;
}
//查看
//控制器
$scope.onBlur=函数($event){
返回$event;
}

*我不知道Angular版本
ng blur
是在哪一个版本中引入的。

第一个答案是正确的,但我想指出的是,这不是一个jqury事件,而是一个javascript事件。如果你想真正做好客户端编程,试着找出jquery在hoodHey Jesus下做了什么,当我把它添加到我的代码中时,它会说
UnCught ReferenceError:应用程序未定义
wtf?ng blur不适用于稳定版本,必须使用最新的不稳定版本
app
只是对我的模块的引用。使用
angular.module('yourmodule'))角度1.2用模糊指令来表示,这是1。x或1.1.XI做的,不要担心,发布一个问题并得到我自己的解决方案,感谢先生在我的应用程序中使用它,但是UI事件在模型值更改之前是火灾的。我在UI事件= {模糊:}调用函数测试(NG模型)。在函数中,它将向我显示旧值,也会在第一时间显示未定义的值