在jQuery中有一种方法可以使用:
if (button.click() || (keydown == 39)) {
//stuff
}
答案 0 :(得分:8)
您可以bind()参加多个活动:
$(button).bind("click keydown", function (evt) {
if (evt.type == "keydown" && evt.which == 39)
alert("Key 39 pressed");
else if (evt.type == "click")
alert("Clicked!");
});
请注意,空格键和输入键也可能会触发按钮上的点击事件。
答案 1 :(得分:8)
function stuff(e) { alert('Something happened'); }
$('input[type=button]').click(function(e) {
stuff(e);
});
$(document).keydown(function(e) {
if (e.keyCode == 39) { stuff(e); }
});
答案 2 :(得分:3)
您可以使用live
事件并处理多个事件:
$('.someClass').live('keydown mouseclick', function(event) {
if (event.type == 'mouseclick') {
// Do something
} else if (event.type == 'keydown' {
if (event.keyCode == '39')
{
// Do something
}
}
});
答案 3 :(得分:3)
不,它们是单独的事件,因此您必须单独连接它们。您可以使用命名函数从每个事件中调用:
function x() {
...
}
$('.someclass')
.click(x)
.keydown(function(e){
if (e.keyCode == 39) x(e);
});