javascript - 按住 shift+enter 键触发事件
问题描述
我试图在按下shift + enter键时调用一个函数。
我正在尝试的是这个
$('.o_searchview_input').on('keydown', function(event) {
debugger;
if (event.keyCode == 13 && !event.shiftKey) {
$(this).trigger(jQuery.Event("keydown", {
keyCode: 13, // ENTER
shiftKey: true
}));
} else if (event.keyCode == 13 && event.shiftKey) {
console.log('shift + enter');
}
});
但它会自动按shift键。
我担心JavaScript中是否有任何选项可以在按下两个键时触发偶数?
解决方案
没有事件检查是否按下了多个键。如果要检查 2 个键,则需要创建keydown
事件keyup
来跟踪哪些键被按下但未手动释放。
此规则的例外是Shift
Alt
and Ctrl
/Cmd
这些被称为键修饰符,可以像在您的示例中一样使用:
if (event.keyCode == 13 && event.shiftKey) // do something
推荐阅读
- java - 运动包
- java - 如何在 selenium java 中将文本文件发送到 textarea
- python - 亚马逊可用性检查器
- php - 使用 Laravel 8 使用动态路由获取错误 500
- django - 如何计算 django 模型中的对象总数
- c - 项目:NodeMCU esp8266-esp12e 连接到另一个 esp8266-esp12e - 社交距离
- python - 运行 WSGI 应用程序时出现错误 NameError: 当我将 DJango 应用程序部署到 pythonanywhere 时?
- php - 我在 AWS linux 2 上设置弹性 bean stalk 时遇到问题。这是一个以 Postgres 作为数据库的 laravel 应用程序。用户密码验证失败
- android - Viewstub:如何使用两种方式数据绑定,文本不变
- redux - 当我们使用 React 在表单中选择单个产品时,如何绑定或填充复选框和单选按钮值