0

この投稿のために、http://jsfiddle.net/ca7ws/ にある私の JSFiddle を参照してください

これが私のメニューです。最後の 3 つ (Scoring / Historical / Administrative) のいずれかをクリックすると、サブメニューが表示されます。サブメニューのリンクをクリックすると、「selectedMenu」クラスが追加されます。そうではないように見えます。

各関数に alert("someText") を追加することで、

JQuery(".menuLinksSub li").click(function(){ 

と呼ばれ、

jQuery(".menuCategory").click(function(){ 

とも呼ばれます。

そのため、クラスが追加された直後に取り除かれ、まったく機能していないように見えます。

私の最初の考えでは、これは NAV と UL の動作に固有のものであり、HTML 内のすべての NAV / UL / LI タグを削除し、それらを DIV / SPAN に置き換えることさえしましたが、役に立ちませんでした。動作は同じです。

私はかなり試してみましたが、困惑しています。あなたが持っているかもしれないどんな助けも大歓迎です.

ありがとう、シャドラク

4

1 に答える 1

4

ほとんどのイベントがそうであるように、イベントは DOM を介して上方にバブリングしています。内部イベント ハンドラーから停止する必要があります。

jQuery(".menuLinksSub li").click(function(e){
    e.stopPropagation();
    // ... your logic
}); 

http://jsfiddle.net/ca7ws/1/

于 2013-07-25T21:23:16.597 に答える