2012-05-03 24 views
0

私は画像共有jsスクリプトを作成します。ページにイメージがあると、divラッパーが追加されます。 例えば、Jquery mouseoverイベントが機能しない

<img href="xxx.jpg" /> 

私のスクリプトは

<div class="wrapper"> 
    <img href="xxx.jpg" /> 
</div> 

にそれを作るだろうと、.wrapperクラスでmounseoverイベントもあります。下のコードの構造体まではすべてうまくいっています。私たちはブログサイトを持っています。

<div class="a"> 
    <img href="xxx.jpg" /> 
</div> 

私のjsスクリプトラッパーは「ラッパー」クラスであり、私のmouseoverイベントはこれらのHTML構造ではもう動作しません。誰でもここで何が起こったのか教えてくれますか?前もって感謝します!

+0

jqueryコードを投稿してください。 –

+0

hmm..iこの目的のためのimgパラメータはsrcです。 – bondythegreat

答えて

1

JavaScriptコードを参照すると役立ちます。このことから、私の推測では、あなたが.aに結合し、まだあなたはdiv要素でそれをラップし、その代わりに、画像のDIVにmouseoverを適用する必要があります.wrapper

-1
$('img').wrap('<div class="wrapper">'); 

にバインドされていないということです。

+0

これは答えではありません、あなたはその質問を読んでいますか? – sg3s

0

これは、結合ライブイベントの場合であるかもしれない、あなたはjQueryのlive 1.7のように、原因ONに廃止されている、チェックする必要があります - (上)のものが今では(住んでんが)

を行うために使用しました

あなたは言った - 一度イメージがあると、それは包み込みます - まさにこれをやっていますか?

解決策がある可能性があります。 たとえば、あなたが画像をチェックし、それをラップしている場所で、再度マウスオーバーを添付する必要が

// firstly, why is your image having href=xxx.jpg 
// should be src=xxx.jpg I suppose 

$('img[href$="jpg"]').wrap('<div class="wrapper">'); 

// Whatever might be your logic above for wrapping 
// you need to again call bind method here OR 
// you need to call one final time at the end of all your code 

$('img[href$="jpg"]') 
    .parent('.wrapper') 
    .bind('mouseover', function() { 
     $(this); // $(this) - is your current wrapper div now 
     // your code 
    }); 

あなたは、あなたがそれをラップしているか、AJAXを経由して来ているときに、画像が来るとき、あなたがわからない場合jQueryを見てください。livequery plugin

$('div.wrapper').livequery(function() { 
    $(this).bind('mouseover', function() { 
     // your code 
    }); 
}); 
関連する問題