我注意到,如果您专注于可以触发鼠标单击的元素,则 Enter 键的作用就像您左键单击鼠标一样。我想避免这种运行,因为它在我的其他代码中发生冲突。
在下面的示例中,如果我关注此 imageButton 并单击一次,则可以使用 Enter 键“完成”下一次单击,因此我不希望这样做,因为此按钮会触发 slideToggle() 并显示隐藏的 div,所以IMO 用键盘切换这个 div 是没有意义的。
有没有办法让它成为全球性的方式?谢谢你。
我注意到,如果您专注于可以触发鼠标单击的元素,则 Enter 键的作用就像您左键单击鼠标一样。我想避免这种运行,因为它在我的其他代码中发生冲突。
在下面的示例中,如果我关注此 imageButton 并单击一次,则可以使用 Enter 键“完成”下一次单击,因此我不希望这样做,因为此按钮会触发 slideToggle() 并显示隐藏的 div,所以IMO 用键盘切换这个 div 是没有意义的。
有没有办法让它成为全球性的方式?谢谢你。
试试这个:
$(".myElements").keypress(function(e) {
if (e.which == 13) {
e.preventDefault();
}
});
它只会停止enter按键行为,允许其他按键功能照常工作。
听"keypress"
和.preventDefault()
前任。和<myelm class="nokey"/>
function noKeyPressing(){
var elms = document.getElementsByClassName('nokey'),
stop = function stop(e){ return e.preventDefault(), false; },
i = elms.length;
while(--i >= 0){
elms[i].addEventListener('keypress', stop, true);
}
}
noKeyPressing()
如果您只是想阻止,Enter那么要查找的 keyCode 是 13。
尝试
.unbind('keydown');
禁用元素上的所有关键事件
您可以返回 false 以阻止默认操作。
<input type="submit" onkeypress="return false;" value="Submit" />
试试这个代码
$('body *').keypress(function (e) {
if (e.which == 13) {
e.preventDefault();
}
});
上面的代码将阻止对页面中的每个元素按 enter ,您可以$('body *')
根据您的情况将选择器更改为其他内容
我认为另一种可能的方式:
$('.elems').on('click',function(){$(this).blur()});