2012-04-05 2 views
-1

jQuerymouseentermouseleaveというイベントで再生しようとしていますが、失敗しています。ここで Mouseenterとmouseleaveのイベントで、.onと.offがうまく機能しない

は、私はこの .off()

$("#selector").mouseenter(function(){ 
     some code.... 
     jQuery(this).off('mouseenter'); 
    } 
); 
$("#selector").mouseleave(function(){ 
    some code.... 
    jQuery(this).on('mouseenter'); 
}); 

が動作しているやろうとしていますが、残念ながら.onが動作していないものです。

誰でも私を助けることができますか?

Thxです。

>

編集:私の上記の質問では情報が少ないため 申し訳ありません。

mouseenterにツールチップを開き、そのツールチップにいくつかのボタンが必要です。このツールチップは同じdivに追加されます。ですから、ツールチップ内のボタンをクリックしようとするとmouseenterというイベントが呼び出され、ツールチップが再びdivに追加されます。 私は.off()イベントを呼び出すと、マウスがセレクタを離れるまで、tooptipが呼び出されます。

詳細情報が必要な場合はお知らせください。

Thx再び。

+0

あなたは '.on'に関数を渡していません...さらに、あなたがしようとしていることは必要ありません。 – Esailija

答えて

1

イベントをハンドラに再バインドする必要があります。 $(this).on('mouseenter');はハンドラをバインドしません。

編集.one

$("#selector").one('mouseenter', selMouseEnter); 

$("#selector").mouseleave(function(){ 
    some code.... 
    $("#selector").one('mouseenter', selMouseEnter); 
}); 

function selMouseEnter() { 
    some code.... 
} 

それが再び有界できるようにハンドラとしてバインドする機能を使用してみてください、代わりにonoff使用:あなたがやろうとしているもの.hoverまたは単にを使用して達成することができます.mouseenter.mouseleaveの機能を実装します。これらの関数がmouseenterとmouseleaveで一度呼び出されるため、bind/unbindにする必要はありません。必要なし再バインドとアンバインドはありません

$("#selector").mouseenter(function(){ 
    some code.... 
}).mouseleave(function(){ 
    some code.... 
}); 

:何をしようとする

+0

クール、それは働いた。 – Shashi

+0

@ShashiようこそstackoverflowとSO(stackoverflow)がどのように動作するかを知るにはhttp://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workを読んでください。 –

0

onおよびoffのメソッドは、イベントをオンまたはオフにするために使用されず、イベントをバインドまたはアンバインドするために使用されます。

ので、この:

$("#selector").on("mouseenter", function(){ 
    some code.... 
}); 

と::

$("#selector").mouseenter(function(){ 
    some code.... 
}); 

はと同じことを

$("#selector").bind("mouseenter", function(){ 
    some code.... 
}); 

マウスが上にあるときには、イベントのバインドを解除する必要はありません要素は、mouseentermouseleaveイベントを処理します:

$("#selector").mouseenter(function(){ 
    some code.... 
}).mouseleave(function(){ 
    some code.... 
}); 
0

は単純で達成することができます。

また、.onを使用している場合は、関数も渡す必要があります。 .on docsを参照してください。

関連する問題