2012-06-17 7 views
16

私は、Web環境で開発するためにjQueryを使用しています。アンカーのjqueryトリガーホバー

私はそれらの

$("#a#trigger").trigger('mouseenter'); 
$("#a#trigger").trigger('hover'); 
$("#a#trigger").trigger('mouseover'); 

すべての3は私が持っているホバー機能をアクティブにするために働いていない理由を知りたいです。

$(function() { 


     $('a#trigger').hover(function(e) { 
      $('div#pop-up').show(); 

      }, function() { 
      $('div#pop-up').hide(); 
     }); 

    }); 

     }); 

a#triggerアンカーの名前であり、そして#pop-upは私のWebでのdiv要素です。

問題は、FullCalendarプラグインでいくつかのイベントにマウスを合わせて、それらの機能が動作しないことです。おかげさまで

+6

はセレクタにIDの前にタグ名を使用していない、プログラミングの25時間後には地獄のようなIDだけで – charlietfl

答えて

61

、問題は単に最初のハッシュを削除し、セレクタで余分#ですIDは一意でなければならず、要素タイプを指定する必要はなく、$('#trigger')がより効率的です。

は1.9で削除、jQueryの1.8で非推奨:文字列 "mouseenter mouseleave"の省略形として使用される名前 "hover"

もあることに注意してください。これらの2つのイベントに対して1つのイベントハンドラが割り当てられ、ハンドラはmouseenterまたはmouseleaveかどうかを判断するためにevent.typeを調べる必要があります。 "hover"疑似イベント名と1つまたは2つの機能を受け入れる.hover()メソッドを混同しないでください。

+5

すごいイムブラインドを使用するよりも効率的で、どうもありがとうございました。 そしてその途中でマウスを使っていました。後で動作しません。 @undefined –

+0

@OriGavrielRefaelあなたは歓迎です:) – undefined

+0

どうして私は 'trigger(mouseenter)'を使って失敗したのか分かりませんが、 .hover'クラスを呼び出し、 'addClass( 'hover')'を実行します。 – Liber

8

jQueryセレクタは、たとえば次のように記述する必要があります。 jQueryので

$('a#trigger'); 

代わりに$('#a#trigger');

セレクタ位は、IDと一致します。この場合、triggerはIDですが、aはHTML要素であり、プレフィックスは必要ありません。

あなたの最終的なコードは次のようになります。以来という

$("a#trigger").trigger('mouseenter'); 

注:あなたは正しい軌道に乗っている

$("a#trigger").trigger('mouseenter'); 
$("a#trigger").trigger('hover'); 
$("a#trigger").trigger('mouseover'); 
関連する問題