在IE 9,10或11中使用带AngularJS的输入类型=“搜索”字段时。单击在Internet Explorer中呈现的清除/取消按钮时,模型值不会重置为''
或{{ 1}}。
示例HTML:
undefined
http://plnkr.co/edit/zE2qMMfaJK11KYfUWZzr?p=preview
它在Chrome和Safari中运行良好。
答案 0 :(得分:2)
此解决方案适合我
<input type="text" ng-model="name" id="search" />
$("#search").bind("mouseup", function(e){
var $input = $(this),
oldValue = $input.val();
if (oldValue == "") return;
setTimeout(function(){
var newValue = $input.val();
if (newValue == ""){
$scope.name="";
$scope.$apply();
}
}, 1);
});
答案 1 :(得分:0)
这是IE的问题,只能通过稍微粗略的解决方法来解决。例如:添加自定义鼠标事件监听器,并检测按ESC键。
请参阅:https://github.com/angular/angular.js/issues/11193
据说这已在MS Edge中修复,但我无法验证。