我在表单中有一个自动填充文本框,我想通过按Tab键来检测用户是否专注于文本框。我的意思是tabindex已经设置在不同的表单字段上,用户可以通过按Tab键导航字段。现在,当用户直接在文本框上单击/ foxus时,我想执行一些操作,当用户通过选项卡关注文本框时,我想执行一些其他操作。
以下是我正在尝试的代码。但无论每次代码是否为0。
$('#tbprofession').on('focus', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 9) {
alert('Tabbed');
}
else
{
alert('Not tabbed');
}
});
此代码不起作用。
注意:在标记重复之前,如果您正确理解了这个问题,那将是一件好事。我可以通过更详细的描述使其更清晰。
任何人都可以向我展示一些亮点吗?
答案 0 :(得分:3)
你可以尝试这样的事情:
$scope.isHide= {value:true};
$scope.productdetails = function (size,selectedproduct)
{
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: '/Selection_Routing/Selection_Product/ProductDetails.html',
scope: $scope, //passed current scope to the modal
controller: function ($scope, $uibModalInstance, product) {
$scope.product = product;
$scope.buy = function (path) {
$uibModalInstance.close($scope.product);
$location.path(path);
$scope.isHide.value= false;
};
},
});
};
答案 1 :(得分:3)
您可以改为使用keyup
事件:
$('#tbprofession').on('keyup', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 9) {
console.log('I was tabbed!', code);
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input autofocus>
<input id='tbprofession'>
&#13;
答案 2 :(得分:0)
当用户在页面上按下某个键时,您可以触发一系列关键事件。虽然这让你想到了一个键盘记录器。 或者只保留最后一把钥匙。 或者是一个布尔说,如果按下的最后一个键是否是TAB。
关注焦点,您可以查看该变量。