默认为 Esc 上的原始 textarea val

Default to original textarea val on Esc

我正在尝试使文本区域在按 esc 键时默认为原始值。我似乎无法将主代码中的 origVal 传递给按键 if/else。

我是想多了还是想多了?

Fiddle: https://jsfiddle.net/kirkbross/brkbcr5c/1/

$(function() {
    var origVal = $("#textarea").val(); // set original value of textarea    
    $('#textarea').keydown(function(e, origVal) {
        var code = e.keyCode || e.which;
        if (code == 13) {
            e.preventDefault();
            //submit code
        } else if (code == 27) {
            $(this).blur();
            $(this).val(origVal); // default to original value on Esc
        }
    });
});

你快到了,var origVal = $(this).val() 中的 this 指向 document 元素。

使用特定的文本区域选择器。

var origVal = $('#textarea').val()

Updated Fiddle

此外,从 keydown(function(e, origVal) 中删除 origVal。全局 origVal 可在 keydown 中访问。