Javascript ngClick,但防止任何活动输入失去焦点

Javascript ngClick,但防止任何活动输入失去焦点,javascript,angularjs,Javascript,Angularjs,在我的角度视图中,我有一个输入字段和一些使用ng click的可点击商品 当点击其中一个ng点击时,是否有一种角度或简单的方法来防止输入字段失去焦点(如果它处于焦点位置) <input type="text" class="form-control" ng-model="foo"> <button ng-click="someThing()">click me</button> 点击我 最简单的解决方案是使用javascript $scope.someT

在我的角度视图中,我有一个输入字段和一些使用ng click的可点击商品

当点击其中一个ng点击时,是否有一种角度或简单的方法来防止输入字段失去焦点(如果它处于焦点位置)

<input type="text" class="form-control" ng-model="foo">

<button ng-click="someThing()">click me</button>

点击我

最简单的解决方案是使用javascript

$scope.someThing = function () {
    //implementation...
    document.getElementById("yourInputIt").focus();
};

不使用
ng click
,因为在激发时,单击的元素已经从输入中获取了焦点

但是如果在事件处理程序中使用
$event.preventDefault()
,则
ng mousedown
应该可以工作。这里有一个香草JS的演示;这同样适用于角度:

var=function(事件){
控制台日志(“单击”);
event.preventDefault();
}

点击

ng click;)中使用的方法调用`$(pattern.focus()`)例如,在'someThing()'中,为什么不希望它失去焦点?实现应该在焦点调用之前,如果元素#yourInputIt依赖于$scope变量,它将被删除,那么angular=focus LOST将添加一个新的元素。注意:如果$scope.someThing包含带有jquery的ajax调用,代码中有一个$scope.$apply,您必须将.focus()调用放在$scope.$apply结尾,因为$apply是异步的,并且它不会失去textarea或其他位置。比.focus(argh)更好的解决方案这是一个完美的解决方案,可以很好地转换为角度ngMousedown!谢谢你,好先生。