use*_*246 10 javascript focus blur angularjs
我试图隐藏DIV
模糊(焦点已被删除DIV
).我正在使用角度和引导程序.到目前为止,我已经尝试在显示DIV
时设置"焦点" ,然后ng-blur
在用户点击屏幕上的任何其他位置时设置功能.这不起作用.
基本上问题是我#lockerBox
不能通过JS 设置焦点我的" ",hideLocker
当我DIV
点击它时,我的" "功能没有问题.
<div class="lock-icon" ng-click="showLocker(result); $event.stopPropagation();"></div>
<div ng-show="result.displayLocker" id="lockerBox" ng-click="$event.stopPropagation();" ng-blur="hideLocker(result)" tabindex="1">
$scope.displayLocker = false;
$scope.showLocker = function ( result ) {
$scope.displayLocker = !$scope.displayLocker;
node.displayLocker = $scope.displayLocker;
function setFocus() {
angular.element( document.querySelector( '#lockerBox' ) ).addClass('focus');
}
$timeout(setFocus, 100);
};
$scope.hideLocker = function ( node ) {
$scope.displayLocker = false;
node.displayLocker = $scope.displayLocker;
};
Run Code Online (Sandbox Code Playgroud)
URL*_*L87 22
只需添加tabindex="-1"
attr到div
它就会给它带来与输入相同的行为 -
<div tabindex="-1" ng-blur="onBlur()"></div>
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/ast12nLf/1/
(灵感来自这里 - /sf/answers/1192971671/)