在单个 .on() 调用中绑定多个事件

Bind Multiple Events in Single .on() Call

本文关键字:绑定 事件 调用 单个 on      更新时间:2023-09-26

好吧,一直在努力切换到jQuery 1.7新的和改进的.on()函数,而不是依赖.live()。

这就是我的原因,

当你有多个绑定时,.live() 很棒,让你在一个简单的函数中完成所有这些。例如:

$('.my_thing').live({
   mouseover: function(e) {
     console.log('hey imma moused over');   
   },
   mouseout: function(e) {
     console.log('hey imma moused out');   
   }
 });

很简单!你会如何使用 .on() 做到这一点?这里离得很近,但仍然感觉很乱。

$(document).on('mouseover','.my_thing', function(e) {
     console.log('hey imma moused over');   
  }).on('mouseout','.my_thing', function(e) {
     console.log('hey imma moused out');   
 });

感觉很乱,不是吗?一定有更好的方法。

PS - 如果你想在谷歌上了解更多关于它的信息,这一定是最糟糕的功能之一。

$(document).on({
   mouseover: function(e) {
     console.log('hey imma moused over');   
   },
   mouseout: function(e) {
     console.log('hey imma moused out');   
   }
 }, '.my_thing' );

除了选择器之外,只需使用事件映射:

$(document).on({
    mouseover: function(e) {
        console.log('hey imma moused over');   
    },
    mouseout: function(e) {
        console.log('hey imma moused out');   
    }
}, '.my_thing');

这是一个演示。