1

このスクリプトに問題があります:http: //jsfiddle.net/bZw83/

タブ内でクリックが発生した場合、画面の内外で言語を選択できるタブを切り替えます。今私は立ち往生しています、私はクリックがタブの外にある場合にタブを画面の外に切り替える関数を書こうとしました

$('html').click(function() {...});

しかし、タブの領域をイベントの発生から除外することはできません。event.stopPropagation()を使用してみましたが、目標を達成できません:-/

誰かが私がこれを理解するのを手伝ってもらえますか?

どうもありがとうございます

4

3 に答える 3

4

ドキュメントのハンドラーを作成し、それが #navigation またはその子であるかどうかを確認できます。

参照: http://jsfiddle.net/bZw83/1/

$(document).click(function(e) {
    $target = $(e.target);
    var is = $target.is('#navigation');
    var isChild = $target.parents('#navigation').length;

    if(!(is) && !(isChild)) {
        $('a', $(this)).stop().animate({
            'marginLeft': '-44px'
        }, 200);
        stato = "chiuso";
    }
});
于 2012-10-19T10:50:04.153 に答える
0

このようなことをする

 $(document).click(function(e) {
    if($(e.target).parents("*").andSelf().is('#navigation')==false)
    {
       //your code here
    }
});
于 2012-10-19T10:52:01.720 に答える
0

次のように、ドキュメントのクリック イベントを処理することで、これを行うことができます。

$(document).click(function() {
   $('a',$(this)).stop().animate({'marginLeft':'-44px'},200);
   stato="chiuso";
});

実際のデモを見る

于 2012-10-19T10:53:48.333 に答える