2012-04-10 8 views
1

可能性の重複と上:
Using delegate() with hover()?デリゲート/ホバー

私はこのコードをしようとしていますが、どうやら私が何か間違ったことをしています。このコードではhoverエフェクトが機能しません。

しかし、$('.group>span').hover (function() {のようなものはうまく動作しますが、html()のコンテンツを委任する必要があります。

<div class="group"> 
    <span></span> 
</div> 

$('.group>span').delegate("hover", "a", function() { 
    $(this).html('<a href="#new_list">Some button</a>'); 
}, function() { 
    $(this).empty(); 
});​ 

ありがとう

+0

を[私の答え](http://stackoverflow.com/a/10081842/601179)。デリゲート関数を間違って使用する – gdoron

+0

私はいくつかのテストをしていますが、はい、私は受け入れます、ありがとうございます –

答えて

0

delegateに渡す引数の数が無効です。 を渡しますが、それだけで3にする必要があります。

.delegate(selector, eventType, handler(eventObject))は機能署名です。
コード内のパラメータの順序が間違っています。あなたは、セレクタと

あなたがこれを書いたイベントタイプをスワップ:

$('.group>span').delegate ("hover", "a", function() { 

それがこの順序である必要がありますが:

$('.group>span').delegate ("a", "hover", function() { 

とにかくあなたがhoverのためにこの方法をdelegateを使用することができます。

LIVE DEMO
あなたはこの質問に行くための別の方法を参照することができます:私は更新
Using delegate() with hover()?

+0

http://jsfiddle.net/NSYWG/ - >何か間違っていますか? –

+0

@loops。はい...あなたのフィドルを更新しました。 [ここをクリック](http://jsfiddle.net/NSYWG/1/) – gdoron

+0

** @ Downvoterあなたの行動を説明してください!!! ** – gdoron

0

hoverはちょうどmouseentermouseleaveの便利なラッパーです。私はあなたがそれぞれ別々に扱わなければならないと思います。

+1

あなたが正しい間に。彼のコードにはもっと誤りがあります。:) – gdoron