0

jqueryを使用した動作中のhtmlページがありますが、機能しない関数が1つあります。

メイン ページで 2 つの div (「containerSW」と「containershort」) を非表示にした後、div を開きました (「containerprC」)。

私が今欲しいのは、('containerprC') がdiv の外側だけをクリックするとフェードアウトし、非表示の div がフェードインすることです。

スクリプトは次のとおりです。

$(document).on('mouseup', function(e) {
if (!$(e.target).is('#containerprC') && !$(e.target).parents().is('#containerprC')) {

    $('#containerprC').fadeOut("slow");
    $('#containerSW').fadeIn('slow');
    $('#containershort').fadeIn('slow');
}
});

フェードアウトとフェードインは正常に機能しますが、containerprC の内部を含め、ページ上の任意の場所をクリックすると発生します。

つまり、最初の行 (if (!$(e.target).is) が正しく機能していないことを意味します。どうすれば機能するのでしょうか? どうもありがとう。

4

1 に答える 1

0

あなたの2番目の条件は間違っています。ただし、この条件全体を変更できます。

if (!$(e.target).is('#containerprC, #containerprC *')) 

ターゲットがdivまたはその子の 1 つであるかどうかを確認します。

于 2013-09-20T15:24:02.120 に答える