有没有办法在angularjs中正确排序事件?
我在试图使$watch在窗体元素上的事件之前执行时遇到了很多麻烦(更确切地说是复选框)。唯一有效的浏览器是FF有没有办法在angularjs中正确排序事件?,angularjs,events,Angularjs,Events,我在试图使$watch在窗体元素上的事件之前执行时遇到了很多麻烦(更确切地说是复选框)。唯一有效的浏览器是FF scope.$watch(attrs.ngModel, function($v){ console.log("1 = "+$v); }); // elem corresponds to the element in form (i.e.: che
scope.$watch(attrs.ngModel, function($v){
console.log("1 = "+$v);
});
// elem corresponds to the element in form (i.e.: checkbox)
elem.bind('change', function(evt){
console.log("2 = "+control.$modelValue);
scope.$digest();
});
有没有一种方法可以在所有浏览器中完成这项工作 事件在呈现DOM之前引发(以允许操作),因此如果要在呈现后使用字段中的值,可以使用
$timeout
例如,检查指令中的表单字段是否脏
elm.bind('keydown', function(event) {
if (event.which === 13)
scope.update();
scope.check_dirty();
});
scope.check_dirty = function() {
// wait for the DOM to finish rendering
$timeout(function() {
if ( elm.val().trim() !== scope.last_saved_value )
elm.addClass('calc-dirty-input');
else
elm.removeClass('calc-dirty-input');
},0);
};
...
你想干什么?在任何浏览器中都可能无法保证事件的顺序。我的朋友不只是/?