【问题标题】:JQuery same function for multiple events (ex: hover and click event)多个事件的 JQuery 相同功能(例如:悬停和单击事件)
【发布时间】:2010-08-05 09:57:26
【问题描述】:

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

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

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

而不是做类似的事情:

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

【问题讨论】:

标签: jquery


【解决方案1】:

使用bind():

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 优秀。谢谢你。另请注意,如果您使用$(document).ready(function(){ // event handlers });,则不需要包装函数。只是一个函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    相关资源
    最近更新 更多