首页 > 解决方案 > keyCode 返回“未定义”(反应)

问题描述

当有人按下“Enter”时,我试图触发一个功能。在我的函数中,当我控制台记录 keyCode 时,它​​返回“未定义”。我试过 .keyCode、.which、.key、.code,但它们都返回未定义。这是我的代码:

handleLineCount = (event) => {
        console.log(event.keyCode);
        let charCount = event.length;
        let myIndex = 0;

        this.setState({
            charCount: charCount,
        });

        if(charCount === 5 && event.keyCode !== 8 || event.keyCode === 13){
            myIndex++; 

            this.setState({
                lines: [...this.state.lines, myIndex]
            })
        }
    }

将事件值传入函数时如何获取 keyCode 的值?这是一个 onChange 事件。我还尝试过使用 onKeyDown 事件、onKeyUp 事件、onKeyPress 事件,并且 keyCode 始终为“未定义”。

这是它绑定到的元素:

<textarea 
  id="first-line"
  placeholder="this is a test to count line numbers..." 
  style={{width: "60%", padding: "10px 10px 0", boxSizing: "border-box"}}
  maxlength="5"
  onChange={(e) => this.handleLineCount(e.target.value)}/>

标签: javascriptreactjs

解决方案


您不会将event对象传递给handleLineCount

<textarea onKeyPress={handleLineCount} />

编辑节日-lalande-rfw2j


推荐阅读