我注意到如果您专注于可以触发鼠标clic的元素,则Enter键的作用就像左键单击鼠标一样。我希望避免这种情况,因为它会在我的其他代码中出现冲突。
在下面的例子中,如果我专注于这个imageButton和我clic一次,下一次点击可以用Enter键“完成”,所以我不想要这个,因为这个按钮触发一个slideToggle()并显示一个隐藏div,所以IMO用键盘切换这个div是毫无意义的。
有没有办法让它成为全球方式? 谢谢。
答案 0 :(得分:3)
试试这个:
$(".myElements").keypress(function(e) {
if (e.which == 13) {
e.preventDefault();
}
});
它将仅停止输入键行为,允许其他键功能照常工作。
答案 1 :(得分:1)
倾听"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。
答案 2 :(得分:0)
试
.unbind('keydown');
禁用元素上的所有关键事件
答案 3 :(得分:0)
您可以返回false以阻止默认操作。
<input type="submit" onkeypress="return false;" value="Submit" />
答案 4 :(得分:0)
试试这段代码
$('body *').keypress(function (e) {
if (e.which == 13) {
e.preventDefault();
}
});
上面的代码将阻止按下页面中每个元素的输入
,您可以根据您的情况将选择器$('body *')
更改为其他内容
答案 5 :(得分:0)
我认为另一种可能的方式:
$('.elems').on('click',function(){$(this).blur()});