0

別の div を含む div があります。どちらも ajax リクエストによって取得されたデータを使用して動的に作成されます。

外部 div と内部 div の両方にアタッチしたいクリック イベントがありますが、何らかの理由で、下の最初の画像でクロムが青色でレンダリングされる領域をクリックしても何も起こりません。

クロムはdivを検査します

そして、これがhtmlペインの構造です

divコンテンツのhtml

これはイベントを行う関数です

$(document).ready(function () {
    $('body').click(function (event) {
        if ($(event.target).is('#INT-note')) {
            if (!$('#INT-note').hasClass('expanded_note')) {
                $('#INT-note').addClass('expanded_note');

                $('#INT-note').animate({
                    height: '300',
                    width: '200',
                    overflow: 'scroll'
                }, 500, function () {

                    $('#INT-note_text').fadeIn(100);
                });

            } else {

                $('#INT-note').removeClass('expanded_note');
                $('#INT-note_text').fadeOut(100);
                $('#INT-note').animate({
                    height: '45',
                    width: '45',
                    overflow: 'hidden'
                }, 500, function () {
                    //console.log('test');
                });
            }

        }
    });
});

下位の div が「トップレベル」の div を介してクリックを受け取れるようにする方法はあります$('#lower, .upper')か?

[pointer-events:none;][3]クリックしたいdivの下のdivでクリック関数を起動するように見えるため、これまでのところうまくいきませんでした。レベルを1つ下げたいだけです。

ありがとう!

4

2 に答える 2

1

イベントバインディングに問題があるようですdiv.sは動的に挿入され、On代わりclickに本体で使用されるため、挿入された新しい要素に自動的にイベントが添付されます.

 $('body').on('click',function (event) {
     //same code
 });
于 2012-07-31T21:17:45.040 に答える
0

click通常またはbind動的に追加されたコンテンツ、 try livedelegateまたはより最近のを使用することはできませんon

于 2012-07-31T21:22:14.557 に答える