ngBlur 和 ngFocus 不能一起工作
ngBlur and ngFocus will not work together
我需要制作一个预填充的文本字段,如果用户输入无效(空)字符串,它会重置为初始值。为此,我有以下 javascript:
$scope.storeValueFor = function(object) {
if(object && object.value) {
$scope.fallback = object.value;
}
};
$scope.updateValueFor = function(holder, object) {
if(object.value && object.value.length > 0) {
update(holder, object);
} else {
object.value = $scope.fallback;
}
};
我希望在字段获得焦点时调用 storeValueFor(),在失去焦点时调用 updateValueFor()。这是我的相关部分 HTML:
<input ng-model="object.value"
ng-show="!hideInput()"
ng-blur="updateValueFor(holder, object)"
ng-focus="storeValueFor(object)"
ng-minlength="1">
<span ng-bind-html="formatString(object.value)" ng-hide="hideInput()"></span>
现在,我的问题是只有顶级指令(ng-blur 或 ng-focus)实际上处于活动状态。换句话说,这里会调用 updateValueFor(),而不是 storeValueFor()。如果我更改它以便 ng-focus 位于顶部,则相反。
我找到了这个组合的一个工作示例 here,但是当我用此处看到的内联函数替换我的函数调用时,行为仍然存在。
有谁知道是什么原因造成的?
编辑:事实证明,此行为仅出现在我用于开发的 Chrome 实例上,因此安装了 AngularJs Batarang。禁用此扩展可以解决问题。谁能告诉我为什么会这样?
事实证明,此行为仅出现在我用于开发的 Chrome 实例上,因此安装了 AngularJs Batarang。禁用此扩展程序可解决问题。
我需要制作一个预填充的文本字段,如果用户输入无效(空)字符串,它会重置为初始值。为此,我有以下 javascript:
$scope.storeValueFor = function(object) {
if(object && object.value) {
$scope.fallback = object.value;
}
};
$scope.updateValueFor = function(holder, object) {
if(object.value && object.value.length > 0) {
update(holder, object);
} else {
object.value = $scope.fallback;
}
};
我希望在字段获得焦点时调用 storeValueFor(),在失去焦点时调用 updateValueFor()。这是我的相关部分 HTML:
<input ng-model="object.value"
ng-show="!hideInput()"
ng-blur="updateValueFor(holder, object)"
ng-focus="storeValueFor(object)"
ng-minlength="1">
<span ng-bind-html="formatString(object.value)" ng-hide="hideInput()"></span>
现在,我的问题是只有顶级指令(ng-blur 或 ng-focus)实际上处于活动状态。换句话说,这里会调用 updateValueFor(),而不是 storeValueFor()。如果我更改它以便 ng-focus 位于顶部,则相反。
我找到了这个组合的一个工作示例 here,但是当我用此处看到的内联函数替换我的函数调用时,行为仍然存在。
有谁知道是什么原因造成的?
编辑:事实证明,此行为仅出现在我用于开发的 Chrome 实例上,因此安装了 AngularJs Batarang。禁用此扩展可以解决问题。谁能告诉我为什么会这样?
事实证明,此行为仅出现在我用于开发的 Chrome 实例上,因此安装了 AngularJs Batarang。禁用此扩展程序可解决问题。