JQuery与多个事件相同的功能(例如:悬停和点击事件)

时间:2010-08-05 09:57:26

标签: jquery

有没有办法为页面上的不同事件执行相同的代码?

$('.class1').hover(function() {
   some_function();
});

$('.class1').click(function() {
   some_function();
});

代替做:

$('.class1').click.hover(function() {
   some_function();
});

2 个答案:

答案 0 :(得分:11)

使用bind()

$('.class1').bind("click hover", function() {
   some_function();
});

答案 1 :(得分:5)

如果您想使用相同的选择器在代码中的同一点附加事件处理程序,bind是可行的方法,如果您想在不同的点或使用不同的选择器附加它们,您可以总是只使用命名函数,而不是匿名函数:

function someWrappingFunction() {
   some_function();
}

$('.class1').hover(someWrappingFunction); 

$('.class1, .anotherClass').click(someWrappingFunction);