2012-03-12 15 views
1
$("#toggle-banner-body").live("click", function(){ 
     $("#banner-details").slideToggle(); 
}); 

#toggle-banner-bodyをクリックすると、#banner-detailsのトグルが機能しません。 #toggle-banner-body#banner-detailsは新しく作成された要素なので、そこで私はそこでライブ機能を使用しています。 #banner-details要素を識別する方法はありますか?私はライブ機能をエフェクトに使用する方法を意味します。
jquery live for effects

$(document).on(event, selector, handler) // live 
$(selector).on(event, handler)   // bind 

$("#parent").on("click","#element", function(){ 
     $("#banner-details").slideToggle(); 
}); 
+0

このコードは大丈夫です。私たちは何が起こっているか見ることができるようにそこにjsfiddleを投げることができますか?また、 'live'も非難されています。 '.on()'と '.off()'関数をチェックしてください。 – Dutchie432

+0

jsfiddle.netを使用してサンプルコードを提供できますか? –

+0

私はこのコードだけに問題があります。それはDrupalのウェブサイトです。 – subhojit777

答えて

1

.live()はjQueryのは、あなたが.on()を使用することができます1.7.1今で、推奨されていません

$(function(){ 
    $("#toggle-banner-body").live("click", function(){ 
     $("#banner-details").slideToggle(); 
    }); 
}); 

お知らせlive()は廃止され、jQueryの将来のバージョンでは機能しません。代わりにon()を使用してください。

+0

あなたのコードスニペットを使用すると、このエラーが発生します。 キャッチしないTypeError:オブジェクト#に 'on'メソッドがありません – subhojit777

+0

@ subhojit777最新のjQueryを使用してもよろしいですか? –

+0

@ subhojit777ここに私の答えのような.on()を使った作業デモがあります:http://jsbin.com/eyezij/edit#javascript,html,live –