它在Chrome &Firefox-中确实有效,但在IE中却不起作用(11,在我的测试中)。(理论上-- change事件应该包括enter键按">
我想控制<input>
值的更新到'enter‘键压。(我也会在他们离开战场时更新--但这并不是问题所在)
有许多答案显示了如何使用:
'<input ng-model-options="{updateOn : 'change blur'}" [...] />
它在Chrome &Firefox-中确实有效,但在IE中却不起作用(11,在我的测试中)。(理论上-- change
事件应该包括enter键按下)。
我的问题是:是否有一组不同的事件可以绑定?我让柱塞实例来显示/验证这个问题。
我不确定IE是否只是不触发change
事件(按enter键时),我有错误的事件,或者它是否是一个角度上的错误。
(注:在撰写本报告时,这是角1.4.3)
发布于 2015-10-05 05:25:57
您可以通过创建一个名为updateOnEnter
的指令,然后将该属性添加到您的HTML中来实现这种行为。此代码适用于所有主要浏览器。
<input id="search_input" type="text" update-on-enter ng-model="filter.search_terms">
angular.module('app').directive('updateOnEnter', function() {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
element.bind("keyup", function(ev) {
if (ev.keyCode == 13) {
ctrl.$commitViewValue();
scope.$apply(ctrl.$setTouched);
}
});
}
}
});
https://stackoverflow.com/questions/32176130
复制