4

如果注册了按键或单击,执行相同操作的最佳方法是什么?我想避免冗余并使代码更短。

谢谢

4

1 回答 1

9

.on()可以采用空格分隔的多个事件名称,并且它将为所有事件运行相同的处理程序:

$('#something').on('keypress click', function() {
    // run the same code
});

如果您需要更大的灵活性,例如在不同的条件下,您可以创建一个函数:

function myProcedure(e){
    if(e.type == "keydown"){
        console.log(e.keyCode);
    } elseif(e.type == "click"){
        console.log("clicked");
    }
}

$('.leftPlayer').click(myProcedure);
$('body').keydown(myProcedure);
于 2013-06-13T10:40:11.403 回答