我正在学习如何使用箭头功能,并且尝试在下面转换我的代码。 funcCall和enterKey存在作用域问题。我相信箭头功能应该可以解决这个问题。

function pressKey(funcCall, enterKey = 13) {
    document.addEventListener("keydown", _onKeyDown);
}
function _onKeyDown(e) {
    if(e.keyCode === enterKey) {
        e.preventDefault();
        funcCall();
    }
}

最佳答案

您需要在_onKeyDown范围内创建pressKey,以便它可以通过闭包访问funcCallenterKey:

function pressKey(funcCall, enterKey = 13) {
    function _onKeyDown(e) {
        if(e.keyCode === enterKey) {
            e.preventDefault();
            funcCall();
        }
    }
    document.addEventListener("keydown", _onKeyDown);
}

是否使用箭头功能无关紧要。

09-28 08:13