jQuery .on() 委托 mouseenter 和 mouseleave

19

如何使用.on()来委派多个事件?

这是一个委派单个事件的语法:

$(document).on('mouseeenter','.foo', function(){});

这里是多个事件的语法(非委托):

$('.foo').on({
    mouseenter: function(){
        //stuff
    },
    mouseleave: function(){
        //stuff
    }
});

我想知道除了下面这种方式,是否有更简洁的方法:

$(document).on('mouseenter', '.foo', function(){})
           .on('mouseleave', '.foo', function(){});

如果我必须那样做,也没什么大不了的,但我更好奇一些。


@FrédéricHamidi 是的,看起来是这样。对此很抱歉。 - Belladonna
2
没问题。根据其他问题中的评论,首先搜索这个主题并不容易。 - Frédéric Hamidi
1个回答

39
$(document).on({
    mouseenter: function(){
        //stuff
    },
    mouseleave: function(){
        //stuff
    }
}, '.foo');

1
这比已被新版本弃用的live()更好 :) - Lauris Kuznecovs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接