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);});

私の試みがばかげていることはわかっていますが、うまくいくという提案は大歓迎です。

DK

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 に答える