Javascript 如何预防';按enter';在输入中触发事件?Java脚本
我有一个输入和一个附加按钮。点击按钮调用一些函数。但我不希望在用户“按enter键”时调用此函数。另一方面,我想在这个输入中使用keyup来调用其他函数。所以我把Javascript 如何预防';按enter';在输入中触发事件?Java脚本,javascript,jquery,preventdefault,keyup,Javascript,Jquery,Preventdefault,Keyup,我有一个输入和一个附加按钮。点击按钮调用一些函数。但我不希望在用户“按enter键”时调用此函数。另一方面,我想在这个输入中使用keyup来调用其他函数。所以我把 $(document).on('keyup', '#id', function(e){ call();//calling some function if (e.which == 13 || event.keyCode == 13) { e.preventDefault();//
$(document).on('keyup', '#id', function(e){
call();//calling some function
if (e.which == 13 || event.keyCode == 13) {
e.preventDefault();//I also tried to return false
}
});
但它似乎不起作用,有人有主意了?试试这个:
$(document).on('keyup', '#id', function(e){
if (e.which == 13 || e.keyCode == 13) {
e.preventDefault();//I also tried to return false
}else{
call();//calling some function
}
});
不要使用keyup,因为表单是在keydown时发送的。您是否尝试过将switch.call()函数转换为一个简单的alert(),只是为了测试@Oyeme和@Jai代码似乎工作正常。仍不工作,我收到以下消息:未捕获类型错误:无法读取undefinedtry的属性“0”以更改标识对不起,你的确切意思是什么?@Newben此函数中没有问题。仍不工作,我收到以下消息:未捕获类型错误:无法读取undefinedtry的属性“0”未定义文档中的
#id
是什么?这是此元素所独有的还是其他元素也具有相同的id。您是如何获得此信息的:Uncaught TypeError:在输入某些内容后无法读取未定义的
的属性“0”这是因为call()函数在输入不正确时返回“invalid”
$(document).on('keyup', '#id', function(e){
if (event.keyCode != 13) {
e.preventDefault();
call();//calling some function
}
return false;
});