我正在尝试阻止用户使用Tab键在表单上的输入框中使用以下代码进行选项卡
$(document).ready(function(){
$(":input").on("keydown", noTab);
});
function noTab(evt){
$(this).keypress(function(e){
if(e.keyCode == 9)
e.preventDefault();
})
}
但它无法正常工作,因为我仍然可以使用Tab键来标记我的输入字段。我有一个类似的功能来限制用户使用空格键,这确实有效。
$(document).ready(function(){
$(":input").on("keydown", noSpace);
});
function noSpace(evt){
// prevent user from entering a space
$(this).keypress(function(e){
if(e.keyCode == 32)
e.preventDefault();
});
}
我哪里出错了?
编辑:我正在使用UIKit作为前端HTML
答案 0 :(得分:1)
您可以将<input>
设置为-1,以防止标记到<input type="text" tabindex="-1">
字段:
tabIndex
如果在页面加载后必须使用JavaScript / jQuery更改$(':input').prop('tabIndex', -1);
属性:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text">
<input type="text">
<input type="text">
public enum Suit { Clubs, Diamonds, Hearts, Spades }
public enum FaceValue {
Two, Three, Four, Five, Six, Seven, Eight, Nine,
Ten, Jack, Queen, King, Ace
}
public enum Color {
Red, Black
}
public class Card{
private FaceValue faceValue;
private Suit suit;
private Color color;
//construct a blank card
public Card() { }
// constuct a defined card
public Card(FaceValue FV, Suit S, Color C) {
faceValue = FV;
suit = S;
color = C;
}
答案 1 :(得分:0)
我在按Tab键时使用jQuery取消了keydown事件。它在Chrome中对我很好。希望这有帮助!
$("input").keydown(function(e){
if ((e.which || e.keyCode || e.charCode) == 9) {
e.preventDefault();
}
});