我有一些这样的代码来接管空格键的功能:
$(document).keypress(function (e) {
e.preventDefault();
if (e.which == 32) {
// func
}
});
不幸的是,这会破坏所有密钥的默认值。
此:
$(document).keypress(function (e) {
if (e.which == 32) {
e.preventDefault();
// func
}
});
遗憾的是无效。
如何才能阻止空格键的默认?
感谢。
答案 0 :(得分:2)
试试这个:
//e= e || window.event); you may need this statement to make sure IE doesn't keep the orginal event in motion
var code;
if (e.keyCode) {
code = e.keyCode;
} else if (e.which) {
code = e.which;
}
if (code == 32) {
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
return false;
}
答案 1 :(得分:1)
对于上面的一些事情,比如使用$可能会让人感到困惑。所以我用javascript代码发布我的答案。将其添加到任何文件中以阻止空格键(或者您也可以添加其他操作)。
window.onkeydown = function (event) {
if (event.keyCode === 32) {
event.preventDefault();
}
};
键码32是空格键。对于其他密钥代码,请查看此站点:
祝你好运答案 2 :(得分:0)
为什么它无效?
也许您想使用switch()语句而不是if-then-else?
答案 3 :(得分:-1)
尝试
$(document).keydown(function(e){<br>
if(e.which==32) e.preventDefault();<br>
});
我用它来阻止Esc键,对我来说效果很好。