2

jQueryを使用するn00bとして、この質問が理にかなっていることを願っています。

ネストされたテーブルとして作成されたメニューがあります。ときどき無効にしたいことがあります。(砂時計カーソルなどを表示します)

各メニュー項目は、実際<td>には別の項目の内部にあります。幸い、内側<td>はクリックイベントに応答するため、外側を識別するに適用event.stopPropagation()すると、メニュー項目がクリックに応答するのを非常にうまく防ぐことができます。td.class<td>

しかし、状況によっては、撤退したいですか?サスペンド?元に戻す?消す?そのstopPropagation()ため、内部<td>のクリックハンドラーはクリックイベントを再度確認します。クリックイベントをもう一度バブルさせたい。

stopPropagation()これを行うには、外側のを「元に戻す」必要があると思います<td>。これは可能であるに違いありませんね?私がこれを行う方法を見つけることができないという事実は、私がこれにアプローチしている方法に何か問題があるかもしれないことを私に教えてくれます。

それで、方法はありますか?そうでない場合、私はこれについて誤って考えていますか?ありがとう。

パラグラム

 <td onclick="javascript: myhandler();"><table><tr>
<td class="menuitems">Menu Item</td></tr></table></td>
4

2 に答える 2

0

条件付きで置くことができevent.stopPropagation()ます。

バブリングを停止したいときはいつでも、そのステートメントが実行されることを確認してください。一致する場合は、実行されないことを確認してください。

あなたが元に戻すためのいくつかの条件を持っているだろうどんな方法でもevent.stopPropagation()それならなぜこのようにしないのですか?

于 2012-09-24T04:27:08.443 に答える
0

あなたのコードを見なくても、.not(".class_to_exclude")の前に追加して、そのクラスのevent.stopPropagation()を除外することをお勧めします<td>

于 2012-09-24T04:54:25.333 に答える