我有这样的代码:
var passwordTextBox = angular.element("#password");
passwordTextBox.blur(function() {
//do smth.
});
<input type="password" class="form-control" data-ng-model="Password" id="password" placeholder="Enter password">
单击外部密码框时不会触发模糊,但如果我开始输入另一个框,则会触发。
如果输入类型是文本,则此代码没有问题。
为什么会这样?我做错了什么?
答案 0 :(得分:3)
你肯定做错了。首先,让任何时候你在幕后做DOM操作都是一面红旗。指令应该是唯一能做到这一点的,并且在大多数情况下,角度最大,你需要它。
也就是说,角度SUPPORTS本身模糊。您只需要将它绑定到控制器函数,如下所示:
<input type="password" class="form-control" data-ng-blur="someFunction()" data-ng-model="Password" id="password" placeholder="Enter password">
并在控制器中:
...
scope.someFunction = function(){
//do things
}
...