首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用.keydown()返回div id?

使用.keydown()返回div id?
EN

Stack Overflow用户
提问于 2018-06-02 04:54:02
回答 1查看 53关注 0票数 0

我不确定我的措辞是否正确,但我想要做的是让一个函数在keydown事件上返回一个div的id。

假设我的HTML是:

代码语言:javascript
复制
<div class="pad" id="snare" data-key="97"></div>
<div class="pad" id="kick" data-key="98"></div>

从本质上讲,我希望我的JS做这样的事情:

代码语言:javascript
复制
function handlekeydown(e) {
    console.log("data-key: " + e.keyCode);
    if (e.keycode == $(".pad").data("key")) {
        return this.id
    }
}

我可以编写一条switch语句,让每个keycode返回一个与id同名的变量,但这将违背在我的HTML中使用它的目的。

我如何编写一个函数来搜索div,查找与data-key匹配的keycode,然后返回它的id?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-02 05:07:33

根据问题

代码语言:javascript
复制
How would I write a function to search a div for a data-key that would match the keycode?

你可以通过以下方式来完成:

代码语言:javascript
复制
function handlekeydown(e) {
    var id;
    var element = $('[data-key="' + e.keyCode + '"]');
    if (element.length) {
        id = element[0].id;
    }
}

但是如上所述,您不能从处理程序返回id,您可能希望从使用id的事件处理程序调用一个方法。

代码语言:javascript
复制
function processId(id) {
    console.log(id);
}

function handlekeydown(e) {
    var element = $('[data-key="' + e.keyCode + '"]');
    if (element.length) {
        processId(element[0].id);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50650884

复制
相关文章

相似问题

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