1

.on().live()に依存する代わりに、jQuery1.7の新しく改善された関数への切り替えに取り組んでいます。

これが私が得たものです。複数のバインディングがある場合、.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-あなたがグーグルでそれについてもっと学ぼうとしているならこれはこれまでで最悪の機能の1つでなければなりません。

4

2 に答える 2

4
$(document).on({
   mouseover: function(e) {
     console.log('hey imma moused over');   
   },
   mouseout: function(e) {
     console.log('hey imma moused out');   
   }
 }, '.my_thing' );
于 2012-04-10T23:59:11.883 に答える
2

セレクターに加えてイベントマップを使用するだけです。

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

これがデモです。

于 2012-04-10T23:59:02.290 に答える