当我按下转义键或单击某个元素时,我试图触发某些事情。我试过用..
if( $( '#some_id' ).click() || e.keyCode == 27 )
{
alert( 'Click or esc' );
}
但这似乎不起作用,还有其他我可以使用的东西吗?如果我个别喜欢..
$( '#some_id' ).click(...);
或..
if( e.keyCode == 27 )
它没有问题,但我更愿意让它一起工作,以避免代码重复。对不起,如果我错过了一些愚蠢的东西,但我真的很想把它分类。
谢谢:)
答案 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');
}