2

最初はこれだと思いました。しかし、明らかにそうではありませんclearInterval

アクセスできるようにするために、名前空間付きのグローバル変数をいくつか設定しました。

    $.faux_download = {};
    $.faux_download._counter = 0;

次に、ホバー アクションのすべての詳細を個別の共有可能なメソッドに分けます。

  init_hover_handler: function($this, evt) {
    $this = $($this);
    $.faux_download._counter = setInterval(function(){ SSK.calendar.check_load_popup($this) }, 1000);
  },
  init_hover_out_handler: function() {
    clearInterval($.faux_download._counter);
  },

同じ機能を共有するオブジェクトを動的に追加するまで、これはすべてここで機能します

イベントを使用しliveてバインドする先:

    $(".extended-cell-popup:last .job a, .extended-cell-popup:last .task a").live('hover', function(evt){
      SSK.calendar.init_hover_handler(this, evt);
    }, function(){
      SSK.calendar.init_hover_out_handler();
    });

ここでマウスオーバーが機能するようになりましたが、これらの新しく作成された動的アイテムではクリア間隔が機能しないようです。

ただし、ページと共にロードされたもののいくつかにマウスオーバーすると、それらは間隔を正常にクリアし、適切に機能します。

なぜこれが事実なのか誰にも分かりますか?

jQuery 1.4.4 (だからといって、私を嫌いにならないでください。)

4

1 に答える 1