如何使用 AngularJS 在我的选择标签中使用 onSelect 而不是 ng-change

How can I use onSelect instead of ng-change in my select tag using AngularJS

本文关键字:onSelect ng-change AngularJS 何使用 我的 标签 选择      更新时间:2023-09-26

我想将onSelect事件用于我的选择标签,而不是ng-change事件。

当我在更新页面中的设置值上使用更新onChange函数调用时,我在代码上使用ng-change事件遇到了一些问题,并且我在该函数中进行了一些计算,因此计算会自动调用并且许多事情与一个函数有关。

所以我想只在从选择框中选择任何值时才调用函数,如果您有适当的好解决方案,请回复。

您需要在输入标签中添加指令。

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

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

这是指令:

覆盖默认输入以在模糊时更新

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());
                });         
            });
        }
    };
});

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