5 javascript jquery keypress preventdefault
我在摆弄, preventDefault()一定是做错了什么。
$("#input").bind("keypress", function(event) {
if(event.which == 9) {
event.preventDefault();
alert("You pressed tab.");
}
});
Run Code Online (Sandbox Code Playgroud)
选项卡功能不会被阻止。这有什么问题?
当按下 Tab 时,该keypress事件根本不会触发- 这也解释了为什么没有警报,与阻止默认值可能执行的操作无关。
更改要使用的代码keydown可以捕获 Tab 并防止默认的焦点更改(无论如何在 Chrome 1中)。
$("#input").bind("keydown", function(event) {
if(event.which == 9) {
event.preventDefault();
}
});
Run Code Online (Sandbox Code Playgroud)
1我在 Chrome 35 中使用 jQuery 1.6-2.1测试了上述内容;它在 KO 3.0 库下不起作用。