查找按下的键盘键的键代码

有时快速找出键盘字符的键码很有用,尤其是当您在jQuery或JavaScript中编码键盘事件时。 该代码段为您提供了一种简单的方法来捕获当前的按键和用于“ keypress”,“ keydown”和“ keyup”事件的按键代码。

演示版

我已将此脚本加载到此页面中,因此现在只需按任意键盘键即可显示其代码。

编码

(function($) 
{

	/* get key code */
	function getKeyCode(key)
	{
		//return the key code
		return (key == null) ? event.keyCode : key.keyCode;
	}
	
	/* get key character */
	function getKey(key)
	{
		//return the key
		return String.fromCharCode(getKeyCode(key)).toLowerCase();
	}

	$(document).ready(function()
	{
		$(document).keydown(function (eventObj)
		{
			/* display the key and character code for the key you pressed */
			alert("Key pressed: "+getKey(eventObj)+ " Code = "+getKeyCode(eventObj));
		});
	});
	
})(jQuery);

如果我有时间,我会编写一些代码以捕获用于多次按键的代码。

相关文章:

From: https://www.sitepoint.com/find-keycode-keyboard-key-press/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我会给出以下回答: 在Qt中,可以使用QKeyEvent类来模拟按事件,从而实现键盘切换按钮焦点的功能。具体而言,可以通过调用QWidget::keyPressEvent函数来捕获按事件,并在事件处理函数中调用QKeyEvent构造函数创建一个键盘事件对象,然后调用QWidget::keyPressEvent函数将事件发送给指定的接收者。 以下是一个简单的例子,演示如何使用键盘事件来切换按钮焦点: ```cpp void MyWidget::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Tab) { QWidget *currentWidget = focusWidget(); // 获取当前焦点控件 QList<QPushButton *> buttons = findChildren<QPushButton *>(); // 查找所有按钮控件 int currentIndex = buttons.indexOf(qobject_cast<QPushButton *>(currentWidget)); // 获取当前控件在列表中的索引 if (currentIndex >= 0) { currentIndex = (currentIndex + 1) % buttons.size(); // 计算下一个控件的索引 QPushButton *nextButton = buttons.at(currentIndex); // 获取下一个控件 nextButton->setFocus(); // 将焦点设置到下一个控件 event->accept(); // 接受事件,防止其他控件继续处理 return; } } QWidget::keyPressEvent(event); // 其他按事件交给父类处理 } ``` 在上面的代码中,我们首先获取当前焦点的控件,然后通过调用findChildren<QPushButton *>函数查找所有的按钮控件。接着,我们计算出下一个控件的索引,并将焦点设置到下一个控件。最后,我们调用event->accept()函数接受事件,防止其他控件继续处理。 希望以上回答能够解决您的问题,如果还有任何疑问,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值