ここに私の画像とコンテンツに「バックボード」があります:http://syndex.me 基本的に画像をクリックすると、クリックされたコンテンツの上に情報パネルが表示されます。 .live()によって処理されたときに、親に伝播する子クリックイベントを停止することはできますか?
- クリック:
私は二つのことをやりたいです親パネルの機能を起動せずに情報パネルを表示すると、再びフェードアウトします。
)(see documentation)これはポストが動的にロードされているという事実にあります。
$( "#Background")をクリックする(function(){//インフォメーションボードをフェードアウトする) これはポストラッパー全体でカバーされているため、
これまでのところ、私は少なくとも1つの情報ボードを開いていることができます(つまり、1つの画像をクリックすることができます)。これは、私が子供たちのイベントを引き継ぐ親のジレンマにさらに深く関わっているからです。
$('.theContent:not(.clicked)').live("click", function() {
$(this).children('.postInfo').fadeIn(400);
$(".clicked").each(function() {
$(this).find('.postInfo').fadeOut(400);
$(this).removeClass('clicked');
});
$(this).addClass("clicked");
});
$('.clicked').live("click", function() {
$(".clicked").each(function() {
$(this).find('.postInfo').fadeOut(400);
$(this).removeClass('clicked');
});
});
)(.live、れる.del再:。、その後、別の、それはので、この部分が良く、すべてのですすでに開いて閉じて、現在の1を開きます。 egate()と.stopPropogation():
彼らは、文書の先頭に伝播した後.live()メソッドは、イベントを処理するので、ライブイベントの伝播を停止することはできません。同様に、.delegate()によって処理されるイベントは、委譲された要素に伝播します。 DOMツリー内のその下位の要素にバインドされたイベントハンドラは、委譲されたイベントハンドラが呼び出された時点で既に実行されています。したがって、これらのハンドラは、event.stopPropagation()を呼び出すかfalseを返すことによって、委任されたハンドラがトリガされないようにすることができます。
を、私はそれが動作するかどうかはわからないが、あなたはfalseを返す '試してみました;'あなた '生きる()'イベントハンドラに? – Andre
いいえ、ちょうど今やりましたが、違いはありません。それは真剣に禅だっただろう! – RGBK
'普通の' JavaScriptでは、それはあなたがするはずのものです:それはイベントを停止する方法がないようです。おそらく、グローバル変数を設定し、それをアニメーションハンドラでチェックすることを考えましたか? – Andre