gpt4 book ai didi

javascript - 如何在 react 中正确创建 cmd+K 键盘快捷键?

转载 作者:行者123 更新时间:2023-12-04 17:26:30 25 4
gpt4 key购买 nike

我制作了一个 keydown/keyup 脚本,当按下 cmd+k 时会触发一个搜索栏。我面临的问题是当我按住 cmd 键时浏览器无法识别。对于“K”键,默认情况下似乎有一个自动重复,因此我只需按住“K”并按 Cmd 即可显示搜索栏。
我想要反过来。如何按住 Cmd 并按另一个键 (K) 来触发我的搜索栏?

class Dashboard extends Component {

state = {
showSearch: "",
HideShowSearch: false,
};


HideShowSearch = (e) => {
var map = {};
let HideShowSearch = this.state.HideShowSearch;
var self = this;
onkeydown = function (e) {
e = e;

map[e.keyCode] = e.type === "keydown";

// Cmd + K
if (map[75] && map[91]) {
self.setState(() => ({ HideShowSearch: !HideShowSearch }));
}
};
};

render() {
this.HideShowSearch();
return (
<div>
<div className="row align-items-center">
<div className="container col-12">
{this.state.HideShowSearch ? (
<Searchbox
onChange={this.onTextChanged}
item={this.state.items}
onKeyPress={this.handleKeyPress}
text={this.state.text}
suggestions={this.renderSuggestions()}
onKeyDown={this.onKeyDown}
/>
) : null}

</div>
</div>
</div>
);
}

最佳答案

e.keyCode === 75 && e.metaKey 在两个方向上产生所描述的行为(不是完全相反)

class Test extends React.Component {

handleKeyDown = (e) => {
if (e.keyCode === 75 && e.metaKey) {
console.log("search")
}
};

render() {
return <input onKeyDown = {this.handleKeyDown}/>
}

}

ReactDOM.render( < Test / > , document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>

关于javascript - 如何在 react 中正确创建 cmd+K 键盘快捷键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62947356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com