Javascript 防止按钮在';输入';在某个位置被按下
我有一个带有快速编辑功能的表(使用AJAX只更新一个字段),我希望“回车”提交更改。问题是,我在同一页上的表单上有一个按钮,每次我按下“回车”按钮时,该按钮附带的操作(即提交表单,我不想这样做)就会被触发,我一辈子都不知道如何防止这种情况发生 我已经尝试了以下代码,防止了keyup事件(可能是错误的)和按钮上的默认设置。但我的理解是,您阻止了事件的默认设置,而不是对象,因此我真的不知道该怎么做-Javascript 防止按钮在';输入';在某个位置被按下,javascript,jquery,preventdefault,Javascript,Jquery,Preventdefault,我有一个带有快速编辑功能的表(使用AJAX只更新一个字段),我希望“回车”提交更改。问题是,我在同一页上的表单上有一个按钮,每次我按下“回车”按钮时,该按钮附带的操作(即提交表单,我不想这样做)就会被触发,我一辈子都不知道如何防止这种情况发生 我已经尝试了以下代码,防止了keyup事件(可能是错误的)和按钮上的默认设置。但我的理解是,您阻止了事件的默认设置,而不是对象,因此我真的不知道该怎么做- /** Capture a key press (while a field within the
/** Capture a key press (while a field within the quick edit row is selected) */
qeRow.keyup(function(e){
e.preventDefault(); // Also tried '$('#change-permissions-button').preventDefault'
if(e.keyCode === 27) { // Cancel on 'escape' (This is working fine)
return inlineEditUserGroup.revert();
} else if(e.keyCode === 13) { // Save the data on 'enter'
return inlineEditUserGroup.save();
}
});
谢谢。尝试收听按键或按键事件
qeRow.keypress(function(e){
e.preventDefault(); // Also tried '$('#change-permissions-button').preventDefault'
if(e.keyCode === 27) { // Cancel on 'escape' (This is working fine)
return inlineEditUserGroup.revert();
} else if(e.keyCode === 13) { // Save the data on 'enter'
return inlineEditUserGroup.save();
}
});
我猜keyup事件是“延迟”触发的,因为它只在您按下后才侦听一个键,并且表单已经提交。请点击,谢谢提示。如果(e.keyCode==13)的话,我必须将
e.preventDefault()
移动到下,否则每次按键都会被阻止。谢谢