2012-01-25 12 views
1

jsFiddle全コード:http://jsfiddle.net/bvmdW/jQueryの動的なセレクタと要素

私はサムネイルと動画とYouTubeのリンクを交換するためにjQueryのEmbedlyを使用。 CSSでdisplay:noneを使ってビデオ部分を隠しています。 Embedlyスクリプトは、動的プロセス中に、次のDOMを作成します。

<li id="1"> 
    <img rel="vidPreview-1" class="embedly" src="....."> 
    <div id="vidPreview-1" class="vidPreview"> iframe videos here </div> 
</li> 
<li id="1"> 
    <img rel="vidPreview-2" class="embedly" src="....."> 
    <div id="vidPreview-2" class="vidPreview"> iframe videos here </div> 
</li> 

両方<img rel="vidPreview-X"<div id="vidPreview-Xを動的にEmbedlyによって生成されます。

ここでは、サムネイルをクリックしたときに非表示の動画をポップアップするためにjQueryTools Overlayプラグインを使用します。

$("img[rel]").live('click', function() { 
    $(this).overlay().load(); 
}); 
が、オーバーレイプラグインが live()を認識しないようだ。私は使用していました。 Firebugでは、それはそう言います: uncaught exception: Could not find Overlay: vidPreview-X

誰かがjQueryToolsのオーバーレイでlive()を作る方法を教えてもらえますか?

+2

このページの例では、rel = "vidPreview-1"で#が見つかりませんでした。確認してください、またはここに投稿することを忘れないでください。 – sathishkumar

答えて

2

imgタグでrel属性に#がありませんでした。rel属性値に#を追加してください。再度確認してください。

<li id="1"> 
    <img rel="#vidPreview-1" class="embedly" src="....."> 
    <div id="vidPreview-1" class="vidPreview"> iframe videos here </div> </li> <li id="1"> 
    <img rel="#vidPreview-2" class="embedly" src="....."> 
    <div id="vidPreview-2" class="vidPreview"> iframe videos here </div> </li> 
+0

助けてくれてありがとう、それは現代のブラウザーで今働く。しかし、IE8とIE7では動作しません。それはまだ表示され、エラーです: 'Error:例外がスローされ、捕捉されません ' – Ramil

0

私はわからないんだけど、私は数回liveの奇妙な行動に直面してきたhttp://api.jquery.com/delegate/ に委任機能を使用するようにしてください。

+1

"jQuery 1.7以降、.live()メソッドは廃止予定です。イベントハンドラをアタッチするには.on()を使用してください。古いバージョンのjQueryでは.live()よりも.delegate()が優先されます。 http://api.jquery.com/live/ – Stefan

関連する問題