【问题标题】:Default to original textarea val on Esc默认为 Esc 上的原始 textarea val
【发布时间】:2015-07-19 17:02:33
【问题描述】:

我正在尝试在按 esc 时将 textarea 默认设置为原始值。我似乎无法将主代码中的 origVal 传递到按键 if/else。

我是想多了还是想得太少了?

小提琴: 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
        }
    });
});

【问题讨论】:

    标签: jquery textarea keypress var revert


    【解决方案1】:

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

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

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

    Updated Fiddle

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

    【讨论】:

    • 谢谢!你很快......我实际上立即抓住了“这个”问题并用更新的小提琴更新了我的问题。
    • 好吧,只需从 keydown 中删除额外的参数 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2012-02-09
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 2015-08-08
    相关资源
    最近更新 更多