首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数字上方按下恒星键

如何在数字上方按下恒星键
EN

Stack Overflow用户
提问于 2012-03-23 14:44:19
回答 2查看 509关注 0票数 0

问题:如何获得数字上方的星星

我的小提琴目前没有检测到键盘上数字行上面的*,只有数字键盘上的*.

在我的键盘上,它是shift-3所以keyCode 51 + shift。不管我点击了什么来获得它,我如何测试它呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-24 17:57:38

keydownkeyup事件对于检测特定字符是不可靠的,因为这些事件的event.which属性是而不是字符代码。

必须使用keypress事件。当按下键时,此事件可能会多次触发。因此,当按下所需的键时,设置一个标志,并移除keyup上的标志。

演示:http://jsfiddle.net/xHnTD/

代码语言:javascript
复制
function something_to_do() {
    // This function is fired when * is pressed.
    $('<div>Pressed *!</div>').appendTo('body')
}
$('body').keypress(function(e) {
    var $this = $(this);
    if (e.which === 42) { // '*'.charCodeAt(0) === 42
        if (!$this.data('rw_star_pressed')) {
            $this.data('rw_star_pressed', true);
            something_to_do();
        }
    }
}).keyup(function() {
    $(this).removeData('rw_star_pressed');
});
票数 1
EN

Stack Overflow用户

发布于 2012-03-23 14:53:21

我不太确定你贴的密码。使用此代码时,当我按*时,就会得到56

代码语言:javascript
复制
<script type="text/javascript">
    document.addEventListener('keydown', function( event ) { 
             console.log(event.keyCode); });
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9841232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档