AngularJS 1.2.0-rc.2 vs 1.2.0 привязка элементов

Я недавно обновил свой AngularJS Framework с версии 1.2.0-rc.2 до версии 1.2.0 и столкнулся со странной проблемой, которой у меня нет.Я нашел способ обойти Проблема, которую я ранее решил, заключалась в том, чтобы принудительно вызывать поле ввода для события размытия вместо события изменения. Код для директивы, которую я первоначально использовал, был:

angular.module('app', []).directive('ngModelOnblur', function() {
    return {
        restrict: 'A',
        require: 'ngModel',
        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());
                });         
            });
        }
    };
});

который просто использует предложение, найденное здесь, яhttps://groups.google.com/forum/?fromgroups#!searchin/angular/change$20blur/angular/LH0Q1A-qTVo/eyVIjJsFZGcJ

мы создали два jsFiddles, один из которых использует AngularJS 1.2.0-rc.2Вота другой использует AngularJS 1.2.0Вот.

ngModleOnBlur Директива должна удалить'change' обязательный от элемент и добавить явное'blur' связывание.

Вы'Заметим, что скрипки ведут себя по-разному, как привязка дляelm.bind('blur', function(){...}) ISN»т на самом деле правильно связаны с элементом, и кажется, чтоelm.unbind('input').unbind('keydown').unbind('change') Безразлично»То же самое работает в 1.2.0.

Я в курсе новогоng-blur директива, но в моем случае я могуне используйте это напрямую, но нужно вручную переопределить события, связанные с элементом. Если кто-то может опубликовать работающий jsfiddle о том, как вручную переопределить события, связанные с элементом, и / или объяснить, почему это значение изменилось с 1.2.0-rc.2 на 1.2.0, это было бы невероятно полезно.

Ответы на вопрос(2)

Ваш ответ на вопрос