在IE中,ngModel没有使用搜索输入清除按钮进行更新

时间:2015-11-05 11:46:22

标签: angularjs internet-explorer search

在IE 9,10或11中使用带AngularJS的输入类型=“搜索”字段时。单击在Internet Explorer中呈现的清除/取消按钮时,模型值不会重置为''或{{ 1}}。

示例HTML:

undefined

http://plnkr.co/edit/zE2qMMfaJK11KYfUWZzr?p=preview

它在Chrome和Safari中运行良好。

2 个答案:

答案 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中修复,但我无法验证。