单击或按键

时间:2011-07-17 02:52:54

标签: javascript jquery

当我按下转义键或单击某个元素时,我试图触发某些事情。我试过用..

if( $( '#some_id' ).click() || e.keyCode == 27 )
 {
    alert( 'Click or esc' );
 }

但这似乎不起作用,还有其他我可以使用的东西吗?如果我个别喜欢..

$( '#some_id' ).click(...);

或..

if( e.keyCode == 27 )

它没有问题,但我更愿意让它一起工作,以避免代码重复。对不起,如果我错过了一些愚蠢的东西,但我真的很想把它分类。

谢谢:)

2 个答案:

答案 0 :(得分:13)

使用 .bind() .on()(从jQuery 1.7开始)传递多个事件:

$("#some_id").on("click keyup", function (e) {
    if (e.type == "click" || e.keyCode == 27) {
        alert("click or esc");
    }
});

答案 1 :(得分:2)

您提到了代码重复。为什么不单独执行它们,而是将要执行它们的代码放入函数中:

$('#some_id').click(function () {
    doStuff();
});

$('#some_id').keypress(function (e) {
    if (e.keyCode == 27) doStuff();
});

function doStuff() {
    alert('Click or esc');
}
相关问题