我有一个似乎无法解决的问题。
我有一个带有自定义样式按钮的表单(输入类型=按钮)。在文本字段中输入内容时,我希望人们能够按 TAB 键并转到按钮。但是,它不会使用制表符索引,因此我的解决方案是突出显示标签并更改 CSS 为按钮提供新的边框颜色。但是,在 Firefox 以外的任何浏览器中,按键时边框颜色都不会改变。
这是我所拥有的:
$(function() {
$("#email").bind("keypress", function(e) {
if (e.keyCode == 13) {
send();
return false;
};
if (e.keyCode == 9) {
$("#submit_btn").removeClass('submit1').addClass('submit1after');
};
});
};
第一次输入按键是序列化并通过电子邮件发送表单和所有内容。
我似乎无法让它在我的一生中发挥作用。我究竟做错了什么?对于我想要实现的目标,有更好的解决方案吗?
感谢您抽出时间,
阿米克
最佳答案
使用 keydown
代替,对我来说有效(参见演示:http://jsfiddle.net/npGtX/2/)
$(function () {
$("#email").bind("keydown", function (e) {
if (e.keyCode == 13) {
send();
return false;
};
if (e.keyCode == 9) {
$("#submit_btn").removeClass('submit1').addClass('submit1after');
};
});
};
我还发现了这个:Suppressing keyPress for non-character keys?
keypress is not necessarily triggered when the keypress is not a character. So the browser may not trigger an event on backspace, F1, the down key, etc.
关于javascript - 按键更改 jQuery 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12066745/