簡體   English   中英

我如何使用AngularJS在select標簽中使用onSelect而不是ng-change

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

我想將onSelect事件用於我的選擇標簽,而不是ng-change事件。

我在代碼中使用ng-change事件時遇到了一些問題,同時我在更新頁面上對設置值進行自動更新時對onChange函數進行了調用,並且該函數中進行了一些計算,因此該計算會自動獲得調用,並且許多事情都與一個函數有關。

因此,我只想在我從選擇框中選擇任何值時才調用函數,如果您有合適的解決方案,請回復。

您需要在輸入代碼中添加指令。

如果將指令添加到代碼中,則將綁定更改為:

<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:輸入[text] ngChange在值更改時觸發

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM