2011-07-28 9 views
2

私はその中のボタンを使用してdivを非表示にすることはできませんjqueryの問題に取り組んでいます。例えば、このフィドルを参照してください。jquery内のボタンで親を非表示にすることはできません

http://jsfiddle.net/EfnND/27/

これはjqueryのの限界ですか?返されたIDが正しい理由について私は迷っています(そしてjsコンソールでIDを明示的に隠すとうまくいきますが)、[キャンセル]をクリックしても何も起こりません。

enter image description here

答えて

1

問題は、キャンセルをクリックしたとき、それは同じコンテナにあるので、それはまた、非表示グラフのイベントをトリガーするということです。 stopPropagation()を使用すると、バブリング効果をキャンセルできます。

http://jsfiddle.net/EfnND/35/

コメントアウトのstopPropagation()の行は、それが隠して[キャンセル]をクリックする際に同時に示しコンソールで確認してください。

2

あなたはクリックイベントハンドラ(親を閉じるため)、その後、兄弟を示してからreturn falseする必要がありますねえhttp://jsfiddle.net/EfnND/55/

+0

親()兄弟()ラインのおかげで、。私はstopPropagation()の使用についてJasonの答えに賛成しなければならなかったが、それは厳しい呼び出しでした。 – Brian

関連する問題