加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angularjs:input [text] ngChange在值改变时触发

发布时间:2020-12-17 09:11:00 所属栏目:安全 来源:网络整理
导读:ngChange在值改变时触发(ngChange与经典的onChange事件不相似)。我如何绑定经典的onChange事件与angularjs,只会在内容提交时触发? 当前绑定: input type="text" ng-model="name" ng-change="update()" / This post显示了一个指令的示例,它将模型更改延迟
ngChange在值改变时触发(ngChange与经典的onChange事件不相似)。我如何绑定经典的onChange事件与angularjs,只会在内容提交时触发?

当前绑定:

<input type="text" ng-model="name" ng-change="update()" />
This post显示了一个指令的示例,它将模型更改延迟到输入,直到 blur事件触发。

Here是一个小调,显示ng变化使用新的ng模型模糊指令。注意这是一个轻微的调整到original fiddle。

如果你添加指令到你的代码,你会将你的绑定更改为:

<input type="text" ng-model="name" ng-model-onblur ng-change="update()" />

这里是指令:

// override the default input to update on blur
angular.module('app',[]).directive('ngModelOnblur',function() {
    return {
        restrict: 'A',require: 'ngModel',priority: 1,// needed for angular 1.2.x
        link: function(scope,elm,attr,ngModelCtrl) {
            if (attr.type === 'radio' || attr.type === 'checkbox') return;

            elm.unbind('input').unbind('keydown').unbind('change');
            elm.bind('blur',function() {
                scope.$apply(function() {
                    ngModelCtrl.$setViewValue(elm.val());
                });         
            });
        }
    };
});

注意:作为@wjin在下面的注释提到这个功能是通过ngModelOptions直接支持Angular 1.3(目前在测试版)。有关详细信息,请参阅the docs。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读