1

我有一个具有快速编辑功能的表格(使用 AJAX 仅更新一个字段),我希望“输入”来提交更改。麻烦的是,我在同一页面上的表单上有一个按钮,每次按“输入”时,附加到该按钮的操作(即提交表单,我不想这样做)都会被触发,我想不通出我的生命如何防止这种情况。

我已经尝试了以下代码,以防止 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();
    }
});

谢谢。

4

1 回答 1

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事件是“迟到”触发的,因为它只在你按下后才听一个键,并且表单已经提交。

于 2012-01-06T09:30:50.260 回答