0

我使用以下 jQuery 代码来处理在各种输入标签中按下的键:

$(document).ready( function () {
    $("input").keydown(function (e) {processKeys(e);});
    ...

它工作得很好...

在一个单独的 Javascript 文件中,我有一个接收事件调用的函数:

function processKeys(e) {
    key=e.which;
    if (key==27) {
        $("#searchCDB").hide();
    }

}

那么,有没有办法让我<input>在事件层识别导致事件的标签......我的意思是在这里,以某种方式:

$("input").keydown(function (e) {processKeys($("#this"),e);});

我知道我的尝试是荒谬的,但任何有效的建议都会受到赞赏。

丹麦

4

1 回答 1

1

你可以传入this你的processKeys函数:

$(document).ready( function () {
    $("input").keydown(function (e) {
        processKeys(e, this);
    });
});

function processKeys(e, obj) {
    console.log(obj.id); //logs ID of keypressed input
    key=e.which;
    if (key==27) {
        $("#searchCDB").hide();
    }

}

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

于 2013-06-20T14:52:30.833 回答