简体   繁体   English

Javascript按键使光明

[英]Javascript keypress to make ligh

on a web page how do you enable the user to light up the boxes/items on the page using a specific key on your keyboard? 在网页上,如何使用户能够使用键盘上的特定键来点亮页面上的框/项目? eg. 例如。 i want M to light up my title and when i press M again it turns it off? 我想让M点亮我的标题,当我再次按M时,它会关闭吗?

this is what i have so far but feel like it could be cleaned up a lot 这是我到目前为止所拥有的,但是感觉可以被清理很多

$('#abutton').click(function() {
    $('#abutton').removeClass('off').addClass('on');
    $('#bbutton').removeClass('on').addClass('off');
    $('#cbutton').removeClass('on').addClass('off');
    $('#dbutton').removeClass('on').addClass('off');
    window.scrollTo(0,0);
});

$('#bbutton').click(function() {
    $('#abutton').removeClass('on').addClass('off');
    $('#bbutton').removeClass('off').addClass('on');
    $('#cbutton').removeClass('on').addClass('off');
    $('#dbutton').removeClass('on').addClass('off');
    window.scrollTo(0,0);
});

$('#cbutton').click(function() {
    $('#abutton').removeClass('on').addClass('off');
    $('#bbutton').removeClass('on').addClass('off');
    $('#cbutton').removeClass('off').addClass('on');
    $('#dbutton').removeClass('on').addClass('off');
    window.scrollTo(0,0);
});

$('#dbutton').click(function() {
    $('#abutton').removeClass('on').addClass('off');
    $('#bbutton').removeClass('on').addClass('off');
    $('#cbutton').removeClass('on').addClass('off');
    $('#dbutton').removeClass('off').addClass('on');
    window.scrollTo(0,0);
});

Just add the general class .button to all of them. 只需将通用类.button添加到所有这些类中即可。 Then remove on from all .button elements and add on class to exact clicked element. 然后从所有.button元素中删除on ,并on class上添加到完全单击的元素。

$('.button').click(function() {
    $('.button').removeClass('on').addClass('off');
    $(this).removeClass('off').addClass('on');
    window.scrollTo(0,0);
});

You need to add addEventListener to your code and check inside it if the pressed key has keyCode you're expecting to do some action. 您需要将addEventListener添加到代码中,并在代码内部检查是否按下的键具有您希望执行某些操作的keyCode。 Look on example below: 看下面的例子:

addEventListener("keydown", (event) => { if (event.keyCode === '13') //light on/off });

Please check docs for more details 请检查文档以获取更多详细信息

EDIT: jQuery also has its keyboard events 编辑: jQuery也有其键盘事件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM