javascript - 使用jQuery点击元素触发css :active

标签 javascript jquery html css

我有一个按钮div:

<div id="hud-button1"> </div>

我给它附加了一个监听器:

$('#hud-button1').click(function(){ //Do Stuff });

它有一个 CSS :active 规则:

#hud-button1:active { /* .. */ }

到目前为止一切顺利。现在我想添加通过按键触发此按钮的选项:

window.onkeyup = function(e) {
    var key = e.keyCode ? e.keyCode : e.which;

    if (key == 87) { $('#hud-button1').click(); }
}

虽然这有效,但我希望按钮显示它通过 :active 规则播放的小“动画”。

我知道我可以添加一个类并快速删除它,但是按钮会被快速且大量地捣碎,所以我担心 Timeouts 会干扰和错误。有什么干净的解决方案吗?提前致谢。

最佳答案

谢谢你的帮助,我完全按照建议解决了它,一个类似于 :active 选择器的类被附加到 keydown 上并在 keyup 上被删除

这样感觉非常灵敏,没有超时干扰。

$( document ).keydown(function(event){
    if(event.keyCode == 81){
        $("#hud-button1").click().addClass('active');
    }
    });

    $( document ).keyup(function(event){
    if(event.keyCode == 81){
        $("#hud-button1").removeClass('active');
    }
    });
}

关于javascript - 使用jQuery点击元素触发css :active,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24042907/

相关文章:

html - 如何删除如下图所示的边框(以及响应式)

php - 计算选中的复选框的数量

javascript - 流体包装厂布局

javascript - 用于 Rich Web Apps 的 KISS Javascript 框架

javascript - Desandro Masonry v4.2.1 重叠图像之间无间隙

forms - JQuery Ajax 表单附加查询字符串

使用 jQuery 的 PHP/MySQL 查询生成器 UI?

jquery - 使用 JQuery 验证插件获取重复的错误消息

jquery - 在没有 HTML5 的 Android/IOS 中触发数字键盘输入

javascript - 用下拉列表替换文本框