我有一个带快速编辑功能的表(使用AJAX只更新一个字段),我希望'enter'提交更改。麻烦的是,我在同一页面上的表格上有一个按钮,每次按下“输入”附加到该按钮的动作(即提交表格,我不想做)都被解雇了,我无法想象为我的生命如何防止这种情况。
我尝试了以下代码,防止了keyup事件(可能是错误的)和按钮上的默认值。我的理解是你要防止事件的默认,而不是对象,所以我真的不知道该怎么做 -
/** 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();
}
});
感谢。
答案 0 :(得分:3)
尝试收听keydown或keypress事件。
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-event被触发'迟到',因为它只在你按下后才会听一个键,而且表格已经提交了。