0

ユーザーが入力フィールドへの入力を終了したときにイベントを発生させようとしていますが、入力された値の読み取りに行き詰まっています:(

これが私のコードです:

js

var subtitlesApp = angular.module('subtitlesApp', ['ngResource', 'ngCookies']);

subtitlesApp.directive('ngModelOnblur', function ($timeout) {
    return {
    restrict: 'A',
    require: 'ngModel',
    link: function (scope, elm, attr) {
        elm.unbind('input').unbind('keydown').unbind('change');
    elm.bind('blur', function() {
            scope.$apply(function(imdb_id) {
            console.log(imdb_id)
                })
            });         
        }
    };
})

html

<input id="subtitle-imdb_id" type="text" ng-model="subtitle.imdb_id" ng-model-onblur/>

私は得ています:

a {$id: "004", this: a, $$listeners: Object, $parent: e, $$asyncQueue: Array[0]…}

elm または imdb_id の値を取得する代わりに。

ありがとう。

4

2 に答える 2

1

入力イベントのバインドを解除しないでください。また、スコープを介してデータを取得できます。

link: function (scope, elm, attr) {
    elm.unbind('keydown').unbind('change');
    elm.bind('blur', function () {
        scope.$apply(function (imdb_id) {
            console.log(scope.subtitle.imdb_id)
        })
    });
}
于 2013-09-11T20:28:43.197 に答える