Javascript ng模糊不在父元素上触发

Javascript ng模糊不在父元素上触发,javascript,html,angularjs,dom,angularjs-directive,Javascript,Html,Angularjs,Dom,Angularjs Directive,我试图在上使用ng blur,但它没有启动。它只在子元素上激发 这不是特定于或的。根据Angular,ng blur会对“气泡”产生反应。“focusout”事件气泡,但没有ng focusout 我是否遗漏了什么,或者我是否需要创建一个新的指令来处理focusout事件 以下是代码片段和: html 一种方法就是创建一个自己的焦点输出指令 角度模块(“应用程序”,[]) .controller(“Ctrl”,函数(){ this.blurFn=函数($event){ 控制台日志(“耶,模糊”

我试图在
上使用ng blur,但它没有启动。它只在子
元素上激发

这不是特定于
的。根据Angular,
ng blur
会对“气泡”产生反应。“focusout”事件气泡,但没有ng focusout

我是否遗漏了什么,或者我是否需要创建一个新的指令来处理focusout事件

以下是代码片段和:

html
一种方法就是创建一个自己的焦点输出指令

角度模块(“应用程序”,[]) .controller(“Ctrl”,函数(){ this.blurFn=函数($event){ 控制台日志(“耶,模糊”); this.name=“聚焦于”+$event.target.name; }; 此项。项目=[ {A:“111”,B:“222”}, {A:“111”,B:“222”}, {A:“111”,B:“222”}, {A:“111”,B:“222”}, {A:“111”,B:“222”} ]; //这就是其他处理程序的定义方式。。。 }).directive('focusout',['$parse',function($parse){ 返回{ 编译:函数($element,attr){ var fn=$parse(attr.focusout); 返回函数处理程序(范围、元素){ 元素.on('focusout',函数(事件){ 作用域$apply(函数(){ fn(作用域,{$event:event}); }); }); }; } }; }]);

{{ctrl.name}}

谢谢您的示例。有什么好方法可以支持这种跨浏览器吗?我刚刚意识到我的问题还没有结束。即使我离开了镜头,但留在了镜头内,我也会把焦点拿出来event@NewDev这就是focus out的含义,对吧,您希望它们冒泡,所以即使您留下任何输入,它们也会冒泡(tr没有focusout/blur,它是针对表单元素,而不是html中的每个元素),这与你现在的问题完全背道而驰。@NewDev你可能想重新思考一下你想做什么>你到底想做什么?可能有更好的解决办法。我同意。所问的问题得到了回答。
<div ng-app="App">
    <div ng-controller="Ctrl as ctrl">
        <table>
            <tr ng-repeat="item in ctrl.items" ng-blur="ctrl.blurFn()">
                <td><input ng-model="item.A"/></td>
                <td><input ng-model="item.B"/></td>
            </tr>
        </table>
    </div>
</div>
angular.module("App", [])
.controller("Ctrl", function(){
    this.blurFn = function($event){
        console.log($event.target);
    };

    this.items = [
        {A: "111", B: "222"},
        {A: "111", B: "222"},
        {A: "111", B: "222"},
        {A: "111", B: "222"},
        {A: "111", B: "222"}
        ];
});